diff --git a/README.md b/README.md index afd4c9c5..4c673cbc 100644 --- a/README.md +++ b/README.md @@ -293,7 +293,10 @@ PS:单独部署的话,数据库文件访问这里:https://gitee.com/beijing_ 2.禁止将本开源的代码和资源进行任何形式任何名义的出售. -3.限制商用,如果需要商业使用请联系我们。QQ3409056806. +3.软件受国家计算机软件著作权保护(登记号:2021SR0805085)。 + +4.限制商用,如果需要商业使用请联系我们。QQ3409056806. + ### 交流群 diff --git a/buyer-api/src/main/java/cn/lili/controller/SwaggerBootstrapUiDemoApplication.java b/buyer-api/src/main/java/cn/lili/controller/SwaggerBootstrapUiDemoApplication.java deleted file mode 100644 index 446255b5..00000000 --- a/buyer-api/src/main/java/cn/lili/controller/SwaggerBootstrapUiDemoApplication.java +++ /dev/null @@ -1,23 +0,0 @@ -package cn.lili.controller; - -import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; -import springfox.documentation.spring.web.SpringfoxWebMvcConfiguration; - -/** - * SwaggerBootstrapUiDemoApplication - * - * @author Chopper - * @version v1.0 - * 2020-12-09 20:09 - */ -@ConditionalOnClass(SpringfoxWebMvcConfiguration.class) -public class SwaggerBootstrapUiDemoApplication implements WebMvcConfigurer { - - @Override - public void addResourceHandlers(ResourceHandlerRegistry registry) { - registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/"); - registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); - } -} \ No newline at end of file diff --git a/buyer-api/src/main/java/cn/lili/controller/other/AppVersionBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/other/AppVersionBuyerController.java index 7109bc27..48e1051b 100644 --- a/buyer-api/src/main/java/cn/lili/controller/other/AppVersionBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/other/AppVersionBuyerController.java @@ -1,8 +1,13 @@ package cn.lili.controller.other; import cn.lili.common.enums.ResultUtil; +import cn.lili.common.utils.PageUtil; +import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; +import cn.lili.modules.system.entity.dos.AppVersion; import cn.lili.modules.system.service.AppVersionService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; @@ -33,4 +38,13 @@ public class AppVersionBuyerController { public ResultMessage getAppVersion(@PathVariable String appType) { return ResultUtil.data(appVersionService.getAppVersion(appType)); } + + @ApiOperation(value = "获取版本号") + @ApiImplicitParam(name = "appType", value = "app类型", required = true, paramType = "path") + @GetMapping("/appVersion/{type}") + public ResultMessage> appVersion(PageVO pageVO, @PathVariable String appType) { + + IPage page=appVersionService.page(PageUtil.initPage(pageVO), new LambdaQueryWrapper().eq(AppVersion::getType, appType)); + return ResultUtil.data(page); + } } diff --git a/buyer-api/src/main/java/cn/lili/controller/payment/CashierController.java b/buyer-api/src/main/java/cn/lili/controller/payment/CashierController.java index 17784d5b..30117fee 100644 --- a/buyer-api/src/main/java/cn/lili/controller/payment/CashierController.java +++ b/buyer-api/src/main/java/cn/lili/controller/payment/CashierController.java @@ -8,7 +8,6 @@ import cn.lili.modules.payment.kit.dto.PayParam; import cn.lili.modules.payment.kit.enums.PaymentClientEnum; import cn.lili.modules.payment.kit.enums.PaymentMethodEnum; import cn.lili.modules.payment.kit.params.dto.CashierParam; -import cn.lili.modules.payment.service.PaymentService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -35,8 +34,6 @@ public class CashierController { @Autowired private CashierSupport cashierSupport; - @Autowired - private PaymentService paymentService; @ApiImplicitParams({ diff --git a/buyer-api/src/main/resources/application.yml b/buyer-api/src/main/resources/application.yml index 982bcee4..61b5b4fb 100644 --- a/buyer-api/src/main/resources/application.yml +++ b/buyer-api/src/main/resources/application.yml @@ -124,7 +124,7 @@ spring: props: #是否打印逻辑SQL语句和实际SQL语句,建议调试时打印,在生产环境关闭 sql: - show: true + show: false # 忽略TOKEN 鉴权 的url ignored: diff --git a/buyer-api/src/test/resources/application.yml b/buyer-api/src/test/resources/application.yml index 39fb0557..9484829b 100644 --- a/buyer-api/src/test/resources/application.yml +++ b/buyer-api/src/test/resources/application.yml @@ -121,7 +121,7 @@ spring: props: #是否打印逻辑SQL语句和实际SQL语句,建议调试时打印,在生产环境关闭 sql: - show: true + show: false # 忽略鉴权url ignored: diff --git a/common-api/src/main/resources/application.yml b/common-api/src/main/resources/application.yml index 03912d78..ad254a12 100644 --- a/common-api/src/main/resources/application.yml +++ b/common-api/src/main/resources/application.yml @@ -121,7 +121,7 @@ spring: props: #是否打印逻辑SQL语句和实际SQL语句,建议调试时打印,在生产环境关闭 sql: - show: true + show: false # 忽略鉴权url ignored: @@ -209,6 +209,18 @@ jasypt: password: lili lili: + #短信模版配置 + sms: + #登录 + LOGIN: SMS_205755300 + #注册 + REGISTER: SMS_205755298 + #找回密码 + FIND_USER: SMS_205755301 + #设置密码 + UPDATE_PASSWORD: SMS_205755297 + #支付密码 + WALLET_PASSWORD: SMS_205755301 system: isDemoSite: true licences: 'temporary' diff --git a/config/application.yml b/config/application.yml index 08e4e29b..f047b72f 100644 --- a/config/application.yml +++ b/config/application.yml @@ -121,7 +121,7 @@ spring: props: #是否打印逻辑SQL语句和实际SQL语句,建议调试时打印,在生产环境关闭 sql: - show: true + show: false # 忽略鉴权url ignored: @@ -210,6 +210,18 @@ jasypt: password: lili lili: + #短信模版配置 + sms: + #登录 + LOGIN: SMS_205755300 + #注册 + REGISTER: SMS_205755298 + #找回密码 + FIND_USER: SMS_205755301 + #设置密码 + UPDATE_PASSWORD: SMS_205755297 + #支付密码 + WALLET_PASSWORD: SMS_205755301 system: isDemoSite: false statistics: @@ -237,7 +249,7 @@ lili: # jwt 细节设定 jwt-setting: # token过期时间(分钟) - tokenExpireTime: 60 + tokenExpireTime: 1 # 使用Spring @Cacheable注解失效时间 cache: diff --git a/consumer/src/main/java/cn/lili/event/impl/OrderStatusHandlerExecute.java b/consumer/src/main/java/cn/lili/event/impl/OrderStatusHandlerExecute.java new file mode 100644 index 00000000..8d99bace --- /dev/null +++ b/consumer/src/main/java/cn/lili/event/impl/OrderStatusHandlerExecute.java @@ -0,0 +1,31 @@ +package cn.lili.event.impl; + +import cn.lili.event.TradeEvent; +import cn.lili.modules.order.cart.entity.dto.TradeDTO; +import cn.lili.modules.order.order.service.TradeService; +import cn.lili.modules.payment.kit.enums.PaymentMethodEnum; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 订单状态处理类 + * + * @author Chopper + * @date 2020-07-03 11:20 + **/ +@Service +public class OrderStatusHandlerExecute implements TradeEvent { + + + @Autowired + private TradeService tradeService; + + @Override + public void orderCreate(TradeDTO tradeDTO) { + //如果订单需要支付金额为0,则将订单步入到下一个流程 + if (tradeDTO.getPriceDetailDTO().getFlowPrice() <= 0) { + tradeService.payTrade(tradeDTO.getSn(), PaymentMethodEnum.BANK_TRANSFER.name(), "-1"); + } + + } +} diff --git a/consumer/src/main/java/cn/lili/trigger/executor/PromotionTimeTriggerExecutor.java b/consumer/src/main/java/cn/lili/trigger/executor/PromotionTimeTriggerExecutor.java index f347e484..68e6aeb3 100644 --- a/consumer/src/main/java/cn/lili/trigger/executor/PromotionTimeTriggerExecutor.java +++ b/consumer/src/main/java/cn/lili/trigger/executor/PromotionTimeTriggerExecutor.java @@ -1,8 +1,8 @@ package cn.lili.trigger.executor; import cn.hutool.json.JSONUtil; -import cn.lili.common.delayqueue.PintuanOrderMessage; -import cn.lili.common.delayqueue.PromotionMessage; +import cn.lili.common.trigger.message.PintuanOrderMessage; +import cn.lili.common.trigger.message.PromotionMessage; import cn.lili.common.trigger.interfaces.TimeTrigger; import cn.lili.common.trigger.interfaces.TimeTriggerExecutor; import cn.lili.common.trigger.model.TimeExecuteConstant; diff --git a/consumer/src/main/resources/application.yml b/consumer/src/main/resources/application.yml index 4b27771b..6f2f7746 100644 --- a/consumer/src/main/resources/application.yml +++ b/consumer/src/main/resources/application.yml @@ -121,7 +121,7 @@ spring: props: #是否打印逻辑SQL语句和实际SQL语句,建议调试时打印,在生产环境关闭 sql: - show: true + show: false # 忽略鉴权url ignored: diff --git a/framework/src/main/java/cn/lili/common/cache/Cache.java b/framework/src/main/java/cn/lili/common/cache/Cache.java index 7b027b73..e2c86a7c 100644 --- a/framework/src/main/java/cn/lili/common/cache/Cache.java +++ b/framework/src/main/java/cn/lili/common/cache/Cache.java @@ -232,4 +232,35 @@ public interface Cache { * @return */ Set> reverseRangeWithScores(String sortedSetName, Integer start, Integer end); + + + /** + * 向Zset里添加成员 + * + * @param key key值 + * @param score 分数 + * @param value 值 + * @return 增加状态 + */ + boolean zAdd(String key, long score, String value); + + + /** + * 获取 某key 下 某一分值区间的队列 + * + * @param key 缓存key + * @param from 开始时间 + * @param to 结束时间 + * @return 数据 + */ + Set> zRangeByScore(String key, int from, long to); + + /** + * 移除 Zset队列值 + * + * @param key key值 + * @param value 删除的集合 + * @return 删除数量 + */ + Long zRemove(String key, String... value); } diff --git a/framework/src/main/java/cn/lili/common/cache/impl/RedisCache.java b/framework/src/main/java/cn/lili/common/cache/impl/RedisCache.java index a22f9b79..cc21e89b 100644 --- a/framework/src/main/java/cn/lili/common/cache/impl/RedisCache.java +++ b/framework/src/main/java/cn/lili/common/cache/impl/RedisCache.java @@ -242,4 +242,47 @@ public class RedisCache implements Cache { public Set> reverseRangeWithScores(String sortedSetName, Integer start, Integer end) { return this.redisTemplate.opsForZSet().reverseRangeWithScores(sortedSetName, start, end); } + + + /** + * 向Zset里添加成员 + * + * @param key key值 + * @param score 分数,通常用于排序 + * @param value 值 + * @return 增加状态 + */ + @Override + public boolean zAdd(String key, long score, String value) { + Boolean result = redisTemplate.opsForZSet().add(key, value, score); + return result; + + } + + + /** + * 获取 某key 下 某一分值区间的队列 + * + * @param key 缓存key + * @param from 开始时间 + * @param to 结束时间 + * @return 数据 + */ + @Override + public Set> zRangeByScore(String key, int from, long to) { + Set> set = redisTemplate.opsForZSet().rangeByScoreWithScores(key, from, to); + return set; + } + + /** + * 移除 Zset队列值 + * + * @param key key值 + * @param value 删除的集合 + * @return 删除数量 + */ + @Override + public Long zRemove(String key, String... value) { + return redisTemplate.opsForZSet().remove(key, value); + } } diff --git a/framework/src/main/java/cn/lili/common/enums/ResultCode.java b/framework/src/main/java/cn/lili/common/enums/ResultCode.java index 1787332e..90fd8a16 100644 --- a/framework/src/main/java/cn/lili/common/enums/ResultCode.java +++ b/framework/src/main/java/cn/lili/common/enums/ResultCode.java @@ -143,6 +143,7 @@ public enum ResultCode { /** * 支付 */ + PAY_UN_WANTED(32000, "当前订单不需要付款,返回订单列表等待系统订单出库即可"), PAY_SUCCESS(32001, "支付成功"), PAY_INCONSISTENT_ERROR(32002, "付款金额和应付金额不一致"), PAY_DOUBLE_ERROR(32003, "订单已支付,不能再次进行支付"), diff --git a/framework/src/main/java/cn/lili/common/security/filter/XssHttpServletRequestWrapper.java b/framework/src/main/java/cn/lili/common/security/filter/XssHttpServletRequestWrapper.java index 70c2df5b..990bd0a6 100644 --- a/framework/src/main/java/cn/lili/common/security/filter/XssHttpServletRequestWrapper.java +++ b/framework/src/main/java/cn/lili/common/security/filter/XssHttpServletRequestWrapper.java @@ -6,7 +6,7 @@ import javax.servlet.http.HttpServletRequestWrapper; import java.util.regex.Pattern; /** - * 防止Xss sql注入 + * 防止Xss * * @author Chopper * @version v1.0 @@ -93,8 +93,8 @@ public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper { private String cleanXSS(String value) { if (value != null) { //推荐使用ESAPI库来避免脚本攻击,value = ESAPI.encoder().canonicalize(value); - // 避免空字符串 - value = value.replaceAll(" ", ""); +// // 避免空字符串 +// value = value.replaceAll(" ", ""); // 避免script 标签 Pattern scriptPattern = Pattern.compile("", Pattern.CASE_INSENSITIVE); value = scriptPattern.matcher(value).replaceAll(""); diff --git a/framework/src/main/java/cn/lili/common/sms/impl/SmsUtilAliImplService.java b/framework/src/main/java/cn/lili/common/sms/impl/SmsUtilAliImplService.java index b0d7399b..8507a418 100644 --- a/framework/src/main/java/cn/lili/common/sms/impl/SmsUtilAliImplService.java +++ b/framework/src/main/java/cn/lili/common/sms/impl/SmsUtilAliImplService.java @@ -10,6 +10,7 @@ import cn.lili.common.sms.AliSmsUtil; import cn.lili.common.sms.SmsUtil; import cn.lili.common.utils.CommonUtil; import cn.lili.common.verification.enums.VerificationEnums; +import cn.lili.config.properties.SmsTemplateSetting; import cn.lili.modules.connect.util.Base64Utils; import cn.lili.modules.member.entity.dos.Member; import cn.lili.modules.member.service.MemberService; @@ -51,6 +52,9 @@ public class SmsUtilAliImplService implements SmsUtil, AliSmsUtil { @Autowired private MemberService memberService; + @Autowired + private SmsTemplateSetting smsTemplateSetting; + @Override public void sendSmsCode(String mobile, VerificationEnums verificationEnums, String uuid) { //获取短信配置 @@ -75,17 +79,17 @@ public class SmsUtilAliImplService implements SmsUtil, AliSmsUtil { switch (verificationEnums) { //登录 case LOGIN: { - templateCode = "SMS_205755300"; + templateCode = smsTemplateSetting.getLOGIN(); break; } //注册 case REGISTER: { - templateCode = "SMS_205755298"; + templateCode = smsTemplateSetting.getREGISTER(); break; } //找回密码 case FIND_USER: { - templateCode = "SMS_205755301"; + templateCode = smsTemplateSetting.getFIND_USER(); break; } //修改密码 @@ -96,7 +100,15 @@ public class SmsUtilAliImplService implements SmsUtil, AliSmsUtil { } //更新为用户最新手机号 mobile = member.getMobile(); - templateCode = "SMS_205755297"; + templateCode = smsTemplateSetting.getUPDATE_PASSWORD(); + break; + } + //设置支付密码 + case WALLET_PASSWORD: { + Member member = memberService.getById(UserContext.getCurrentUser().getId()); + //更新为用户最新手机号 + mobile = member.getMobile(); + templateCode = smsTemplateSetting.getWALLET_PASSWORD(); break; } //如果不是有效的验证码手段,则此处不进行短信操作 diff --git a/framework/src/main/java/cn/lili/common/trigger/RocketmqTimerTrigger.java b/framework/src/main/java/cn/lili/common/trigger/RocketmqTimerTrigger.java index 88e098f2..009e0f5f 100644 --- a/framework/src/main/java/cn/lili/common/trigger/RocketmqTimerTrigger.java +++ b/framework/src/main/java/cn/lili/common/trigger/RocketmqTimerTrigger.java @@ -17,6 +17,8 @@ import org.springframework.messaging.support.MessageBuilder; import org.springframework.stereotype.Component; /** + * 延时任务实现 + * * @author paulG * @since 2020/11/5 **/ @@ -32,8 +34,23 @@ public class RocketmqTimerTrigger implements TimeTrigger { @Override - public void add(String executorName, Object param, Long triggerTime, String uniqueKey, String topic) { + public void add(TimeTriggerMsg timeTriggerMsg) { + this.addExecute(timeTriggerMsg.getTriggerExecutor(), timeTriggerMsg.getParam(), timeTriggerMsg.getTriggerTime(), timeTriggerMsg.getUniqueKey(), timeTriggerMsg.getTopic()); + } + /** + * 添加延时任务 + * + * @param executorName 执行器beanId + * @param param 执行参数 + * @param triggerTime 执行时间 时间戳 秒为单位 + * @param uniqueKey 如果是一个 需要有 修改/取消 延时任务功能的延时任务,
+ * 请填写此参数,作为后续删除,修改做为唯一凭证
+ * 建议参数为:COUPON_{ACTIVITY_ID} 例如 coupon_123
+ * 业务内全局唯一 + * @param topic rocketmq topic + */ + public void addExecute(String executorName, Object param, Long triggerTime, String uniqueKey, String topic) { TimeTriggerMsg timeTriggerMsg = new TimeTriggerMsg(executorName, triggerTime, param, uniqueKey, topic); Message message = MessageBuilder.withPayload(timeTriggerMsg).build(); @@ -41,13 +58,9 @@ public class RocketmqTimerTrigger implements TimeTrigger { this.rocketMQTemplate.asyncSend(topic, message, RocketmqSendCallbackBuilder.commonCallback()); } - @Override - public void add(TimeTriggerMsg timeTriggerMsg) { - this.add(timeTriggerMsg.getTriggerExecutor(), timeTriggerMsg.getParam(), timeTriggerMsg.getTriggerTime(), timeTriggerMsg.getUniqueKey(), timeTriggerMsg.getTopic()); - } - @Override public void addDelay(TimeTriggerMsg timeTriggerMsg, int delayTime) { + //执行器唯一key String uniqueKey = timeTriggerMsg.getUniqueKey(); if (StringUtils.isEmpty(uniqueKey)) { uniqueKey = StringUtils.getRandStr(10); @@ -56,7 +69,7 @@ public class RocketmqTimerTrigger implements TimeTrigger { String generateKey = TimeTriggerUtil.generateKey(timeTriggerMsg.getTriggerExecutor(), timeTriggerMsg.getTriggerTime(), uniqueKey); this.cache.put(generateKey, 1); //设置延时任务 - if (Boolean.TRUE.equals(promotionDelayQueue.addJobId(JSONUtil.toJsonStr(timeTriggerMsg), delayTime))) { + if (Boolean.TRUE.equals(promotionDelayQueue.addJob(JSONUtil.toJsonStr(timeTriggerMsg), delayTime))) { log.info("add Redis key {}", generateKey); log.info("定时执行在【" + DateUtil.toString(timeTriggerMsg.getTriggerTime(), "yyyy-MM-dd HH:mm:ss") + "】,消费【" + timeTriggerMsg.getParam().toString() + "】"); } else { @@ -73,7 +86,7 @@ public class RocketmqTimerTrigger implements TimeTrigger { @Override public void delete(String executorName, Long triggerTime, String uniqueKey, String topic) { String generateKey = TimeTriggerUtil.generateKey(executorName, triggerTime, uniqueKey); - log.info("delete redis key {} -----------------------", generateKey); + log.info("删除延时任务{}", generateKey); this.cache.remove(generateKey); } } diff --git a/framework/src/main/java/cn/lili/common/delayqueue/AbstractDelayQueueMachineFactory.java b/framework/src/main/java/cn/lili/common/trigger/delay/AbstractDelayQueueMachineFactory.java similarity index 67% rename from framework/src/main/java/cn/lili/common/delayqueue/AbstractDelayQueueMachineFactory.java rename to framework/src/main/java/cn/lili/common/trigger/delay/AbstractDelayQueueMachineFactory.java index ea9abfc4..3c94e79d 100644 --- a/framework/src/main/java/cn/lili/common/delayqueue/AbstractDelayQueueMachineFactory.java +++ b/framework/src/main/java/cn/lili/common/trigger/delay/AbstractDelayQueueMachineFactory.java @@ -1,6 +1,7 @@ -package cn.lili.common.delayqueue; +package cn.lili.common.trigger.delay; -import cn.lili.common.utils.RedisUtil; +import cn.hutool.json.JSONUtil; +import cn.lili.common.cache.Cache; import cn.lili.common.utils.ThreadPoolUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -22,7 +23,7 @@ import java.util.concurrent.TimeUnit; public abstract class AbstractDelayQueueMachineFactory { @Autowired - private RedisUtil redisUtil; + private Cache cache; /** * 插入任务id @@ -31,12 +32,14 @@ public abstract class AbstractDelayQueueMachineFactory { * @param time 延时时间(单位 :秒) * @return 是否插入成功 */ - public boolean addJobId(String jobId, Integer time) { + public boolean addJob(String jobId, Integer time) { + //获取时间 Calendar instance = Calendar.getInstance(); instance.add(Calendar.SECOND, time); long delaySeconds = instance.getTimeInMillis() / 1000; - boolean result = redisUtil.zadd(setDelayQueueName(), delaySeconds, jobId); - log.info("redis add delay, key {}, delay time {}", setDelayQueueName(), time); + //增加延时任务 参数依次为:队列名称、执行时间、任务id + boolean result = cache.zAdd(setDelayQueueName(), delaySeconds, jobId); + log.info("增加延时任务, 缓存key {}, 等待时间 {}", setDelayQueueName(), time); return result; } @@ -45,21 +48,24 @@ public abstract class AbstractDelayQueueMachineFactory { * 延时队列机器开始运作 */ private void startDelayQueueMachine() { - log.info(String.format("延时队列机器{%s}开始运作", setDelayQueueName())); + log.info("延时队列机器{}开始运作", setDelayQueueName()); - // 发生异常捕获并且继续不能让战斗停下来 + // 监听redis队列 while (true) { try { // 获取当前时间的时间戳 long now = System.currentTimeMillis() / 1000; // 获取当前时间前的任务列表 - Set tuples = redisUtil.zrangeByScoreWithScores(setDelayQueueName(), 0, now); - // 如果不为空则遍历判断其是否满足取消要求 - if (!CollectionUtils.isEmpty(tuples)) { - for (DefaultTypedTuple tuple : tuples) { + Set tuples = cache.zRangeByScore(setDelayQueueName(), 0, now); + // 如果任务不为空 + if (!CollectionUtils.isEmpty(tuples)) { + log.info("执行任务:{}", JSONUtil.toJsonStr(tuples)); + + for (DefaultTypedTuple tuple : tuples) { String jobId = (String) tuple.getValue(); - Long num = redisUtil.zremove(setDelayQueueName(), jobId); + // 移除缓存,如果移除成功则表示当前线程处理了延时任务,则执行延时任务 + Long num = cache.zRemove(setDelayQueueName(), jobId); // 如果移除成功, 则执行 if (num > 0) { ThreadPoolUtil.execute(() -> invoke(jobId)); @@ -68,7 +74,7 @@ public abstract class AbstractDelayQueueMachineFactory { } } catch (Exception e) { - log.error(String.format("处理延时任务发生异常,异常原因为{%s}", e.getMessage()), e); + log.error("处理延时任务发生异常,异常原因为{}", e.getMessage(), e); } finally { // 间隔一秒钟搞一次 try { diff --git a/framework/src/main/java/cn/lili/common/trigger/delay/PromotionDelayQueue.java b/framework/src/main/java/cn/lili/common/trigger/delay/PromotionDelayQueue.java index 4e30f9fc..792e77eb 100644 --- a/framework/src/main/java/cn/lili/common/trigger/delay/PromotionDelayQueue.java +++ b/framework/src/main/java/cn/lili/common/trigger/delay/PromotionDelayQueue.java @@ -1,7 +1,6 @@ package cn.lili.common.trigger.delay; import cn.hutool.json.JSONUtil; -import cn.lili.common.delayqueue.AbstractDelayQueueMachineFactory; import cn.lili.common.trigger.interfaces.TimeTrigger; import cn.lili.common.trigger.model.TimeTriggerMsg; import org.springframework.beans.factory.annotation.Autowired; diff --git a/framework/src/main/java/cn/lili/common/delayqueue/DelayQueueType.java b/framework/src/main/java/cn/lili/common/trigger/enums/DelayQueueType.java similarity index 92% rename from framework/src/main/java/cn/lili/common/delayqueue/DelayQueueType.java rename to framework/src/main/java/cn/lili/common/trigger/enums/DelayQueueType.java index 86a2e147..9466a443 100644 --- a/framework/src/main/java/cn/lili/common/delayqueue/DelayQueueType.java +++ b/framework/src/main/java/cn/lili/common/trigger/enums/DelayQueueType.java @@ -1,4 +1,4 @@ -package cn.lili.common.delayqueue; +package cn.lili.common.trigger.enums; /** * 延时任务类型 diff --git a/framework/src/main/java/cn/lili/common/trigger/interfaces/TimeTrigger.java b/framework/src/main/java/cn/lili/common/trigger/interfaces/TimeTrigger.java index b0099950..9298b1ec 100644 --- a/framework/src/main/java/cn/lili/common/trigger/interfaces/TimeTrigger.java +++ b/framework/src/main/java/cn/lili/common/trigger/interfaces/TimeTrigger.java @@ -9,19 +9,6 @@ import cn.lili.common.trigger.model.TimeTriggerMsg; */ public interface TimeTrigger { - /** - * 添加延时任务 - * - * @param executorName 执行器beanId - * @param param 执行参数 - * @param triggerTime 执行时间 时间戳 秒为单位 - * @param uniqueKey 如果是一个 需要有 修改/取消 延时任务功能的延时任务,
- * 请填写此参数,作为后续删除,修改做为唯一凭证
- * 建议参数为:COUPON_{ACTIVITY_ID} 例如 coupon_123
- * 业务内全局唯一 - * @param topic rocketmq topic - */ - void add(String executorName, Object param, Long triggerTime, String uniqueKey, String topic); /** * 添加延时任务 diff --git a/framework/src/main/java/cn/lili/common/trigger/interfaces/TimeTriggerExecutor.java b/framework/src/main/java/cn/lili/common/trigger/interfaces/TimeTriggerExecutor.java index 93531920..f378852c 100644 --- a/framework/src/main/java/cn/lili/common/trigger/interfaces/TimeTriggerExecutor.java +++ b/framework/src/main/java/cn/lili/common/trigger/interfaces/TimeTriggerExecutor.java @@ -2,14 +2,15 @@ package cn.lili.common.trigger.interfaces; /** * 延时任务执行器接口 - * @author Chopper * + * @author Chopper */ public interface TimeTriggerExecutor { /** * 执行任务 + * * @param object 任务参数 */ void execute(Object object); diff --git a/framework/src/main/java/cn/lili/common/delayqueue/BroadcastMessage.java b/framework/src/main/java/cn/lili/common/trigger/message/BroadcastMessage.java similarity index 100% rename from framework/src/main/java/cn/lili/common/delayqueue/BroadcastMessage.java rename to framework/src/main/java/cn/lili/common/trigger/message/BroadcastMessage.java diff --git a/framework/src/main/java/cn/lili/common/delayqueue/PintuanOrderMessage.java b/framework/src/main/java/cn/lili/common/trigger/message/PintuanOrderMessage.java similarity index 90% rename from framework/src/main/java/cn/lili/common/delayqueue/PintuanOrderMessage.java rename to framework/src/main/java/cn/lili/common/trigger/message/PintuanOrderMessage.java index 75b17a11..e8acf50f 100644 --- a/framework/src/main/java/cn/lili/common/delayqueue/PintuanOrderMessage.java +++ b/framework/src/main/java/cn/lili/common/trigger/message/PintuanOrderMessage.java @@ -1,4 +1,4 @@ -package cn.lili.common.delayqueue; +package cn.lili.common.trigger.message; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/framework/src/main/java/cn/lili/common/delayqueue/PromotionMessage.java b/framework/src/main/java/cn/lili/common/trigger/message/PromotionMessage.java similarity index 96% rename from framework/src/main/java/cn/lili/common/delayqueue/PromotionMessage.java rename to framework/src/main/java/cn/lili/common/trigger/message/PromotionMessage.java index c266f022..7290b974 100644 --- a/framework/src/main/java/cn/lili/common/delayqueue/PromotionMessage.java +++ b/framework/src/main/java/cn/lili/common/trigger/message/PromotionMessage.java @@ -1,4 +1,4 @@ -package cn.lili.common.delayqueue; +package cn.lili.common.trigger.message; import cn.lili.modules.promotion.entity.enums.PromotionStatusEnum; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; diff --git a/framework/src/main/java/cn/lili/common/trigger/model/TimeExecuteConstant.java b/framework/src/main/java/cn/lili/common/trigger/model/TimeExecuteConstant.java index 82bd8754..e9136ee4 100644 --- a/framework/src/main/java/cn/lili/common/trigger/model/TimeExecuteConstant.java +++ b/framework/src/main/java/cn/lili/common/trigger/model/TimeExecuteConstant.java @@ -1,6 +1,8 @@ package cn.lili.common.trigger.model; /** + * 延时任务执行器常量 + * * @author paulG * @since 2020/8/20 **/ @@ -16,14 +18,4 @@ public abstract class TimeExecuteConstant { */ public static final String BROADCAST_EXECUTOR = "broadcastTimeTriggerExecutor"; - /** - * 拼团延迟加载执行器 - */ - public static final String PINTUAN_EXECUTOR = "pintuanTimeTriggerExecutor"; - - /** - * 拼团延迟加载执行器 - */ - public static final String FULL_DISCOUNT_EXECUTOR = "fullDiscountTimeTriggerExecutor"; - } diff --git a/framework/src/main/java/cn/lili/common/delayqueue/DelayQueueTools.java b/framework/src/main/java/cn/lili/common/trigger/util/DelayQueueTools.java similarity index 81% rename from framework/src/main/java/cn/lili/common/delayqueue/DelayQueueTools.java rename to framework/src/main/java/cn/lili/common/trigger/util/DelayQueueTools.java index e6be4cf9..640719f9 100644 --- a/framework/src/main/java/cn/lili/common/delayqueue/DelayQueueTools.java +++ b/framework/src/main/java/cn/lili/common/trigger/util/DelayQueueTools.java @@ -1,4 +1,6 @@ -package cn.lili.common.delayqueue; +package cn.lili.common.trigger.util; + +import cn.lili.common.trigger.enums.DelayQueueType; /** * 延时任务工具类 diff --git a/framework/src/main/java/cn/lili/config/properties/SmsTemplateSetting.java b/framework/src/main/java/cn/lili/config/properties/SmsTemplateSetting.java new file mode 100644 index 00000000..c30b3471 --- /dev/null +++ b/framework/src/main/java/cn/lili/config/properties/SmsTemplateSetting.java @@ -0,0 +1,26 @@ +package cn.lili.config.properties; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +/** + * 短信模版设置 + * + * @author Chopper + */ +@Data +@Configuration +@ConfigurationProperties(prefix = "lili.sms") +public class SmsTemplateSetting { + //登录 + private String LOGIN = "SMS_205755300"; + //注册 + private String REGISTER = "SMS_205755298"; + //找回密码 + private String FIND_USER = "SMS_205755301"; + //设置密码 + private String UPDATE_PASSWORD = "SMS_205755297"; + //设置支付密码 + private String WALLET_PASSWORD = "SMS_205755297"; +} diff --git a/framework/src/main/java/cn/lili/modules/broadcast/serviceimpl/StudioServiceImpl.java b/framework/src/main/java/cn/lili/modules/broadcast/serviceimpl/StudioServiceImpl.java index 1fb2271e..563d7209 100644 --- a/framework/src/main/java/cn/lili/modules/broadcast/serviceimpl/StudioServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/broadcast/serviceimpl/StudioServiceImpl.java @@ -2,14 +2,14 @@ package cn.lili.modules.broadcast.serviceimpl; import cn.hutool.json.JSONUtil; import cn.lili.common.delayqueue.BroadcastMessage; -import cn.lili.common.delayqueue.DelayQueueTools; -import cn.lili.common.delayqueue.DelayQueueType; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; import cn.lili.common.security.context.UserContext; +import cn.lili.common.trigger.enums.DelayQueueType; import cn.lili.common.trigger.interfaces.TimeTrigger; import cn.lili.common.trigger.model.TimeExecuteConstant; import cn.lili.common.trigger.model.TimeTriggerMsg; +import cn.lili.common.trigger.util.DelayQueueTools; import cn.lili.common.utils.BeanUtil; import cn.lili.common.utils.DateUtil; import cn.lili.common.utils.PageUtil; diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/dos/Order.java b/framework/src/main/java/cn/lili/modules/order/order/entity/dos/Order.java index b13c2594..8ca251d0 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/entity/dos/Order.java +++ b/framework/src/main/java/cn/lili/modules/order/order/entity/dos/Order.java @@ -216,8 +216,8 @@ public class Order extends BaseEntity { } else { this.setOrderType(tradeDTO.getCartTypeEnum().name()); } - //设定订单默认状态 - this.setId(orderId); + + //设置默认支付状态 this.setOrderStatus(OrderStatusEnum.UNPAID.name()); this.setPayStatus(PayStatusEnum.UNPAID.name()); this.setDeliverStatus(DeliverStatusEnum.UNDELIVERED.name()); diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/vo/PaymentLog.java b/framework/src/main/java/cn/lili/modules/order/order/entity/vo/PaymentLog.java index 67cec7ce..b222a1ce 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/entity/vo/PaymentLog.java +++ b/framework/src/main/java/cn/lili/modules/order/order/entity/vo/PaymentLog.java @@ -4,26 +4,22 @@ import cn.lili.base.BaseEntity; import cn.lili.modules.base.entity.enums.ClientTypeEnum; import cn.lili.modules.order.order.entity.enums.OrderTypeEnum; import cn.lili.modules.order.order.entity.enums.PayStatusEnum; -import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.persistence.Entity; -import javax.persistence.Table; import java.util.Date; /** - * 订单 + * 订单支付日志:实际为订单部分字段提取过来的一个vo * * @author Chopper * @date 2020/11/17 7:30 下午 */ @Data @Entity -@Table(name = "li_order") -@TableName("li_order") @ApiModel(value = "订单") public class PaymentLog extends BaseEntity { diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java index bd58f07b..1411afbf 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java @@ -8,9 +8,9 @@ import cn.hutool.json.JSONUtil; import cn.hutool.poi.excel.ExcelUtil; import cn.hutool.poi.excel.ExcelWriter; import cn.lili.common.aop.syslog.annotation.SystemLogPoint; -import cn.lili.common.delayqueue.DelayQueueTools; -import cn.lili.common.delayqueue.DelayQueueType; -import cn.lili.common.delayqueue.PintuanOrderMessage; +import cn.lili.common.trigger.util.DelayQueueTools; +import cn.lili.common.trigger.enums.DelayQueueType; +import cn.lili.common.trigger.message.PintuanOrderMessage; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; import cn.lili.common.rocketmq.RocketmqSendCallbackBuilder; diff --git a/framework/src/main/java/cn/lili/modules/payment/kit/CashierSupport.java b/framework/src/main/java/cn/lili/modules/payment/kit/CashierSupport.java index edb46b81..062ff3ed 100644 --- a/framework/src/main/java/cn/lili/modules/payment/kit/CashierSupport.java +++ b/framework/src/main/java/cn/lili/modules/payment/kit/CashierSupport.java @@ -145,20 +145,32 @@ public class CashierSupport { public CashierParam cashierParam(PayParam payParam) { for (CashierExecute paramInterface : cashierExecuteList) { CashierParam cashierParam = paramInterface.getPaymentParams(payParam); - if (cashierParam != null) { - cashierParam.setSupport(support(payParam.getClientType())); - cashierParam.setWalletValue(memberWalletService.getMemberWallet(UserContext.getCurrentUser().getId()).getMemberWallet()); - OrderSetting orderSetting = JSONUtil.toBean(settingService.get(SettingEnum.ORDER_SETTING.name()).getSettingValue(), OrderSetting.class); - Integer minute = orderSetting.getAutoCancel(); - cashierParam.setAutoCancel(cashierParam.getCreateTime().getTime() + minute * 1000 * 60); - return cashierParam; + //如果为空,则表示收银台参数初始化不匹配,继续匹配下一条 + if (cashierParam == null) { + continue; } + //如果订单不需要付款,则抛出异常,直接返回 + if (cashierParam.getPrice() <= 0) { + throw new ServiceException(ResultCode.PAY_UN_WANTED); + } + cashierParam.setSupport(support(payParam.getClientType())); + cashierParam.setWalletValue(memberWalletService.getMemberWallet(UserContext.getCurrentUser().getId()).getMemberWallet()); + OrderSetting orderSetting = JSONUtil.toBean(settingService.get(SettingEnum.ORDER_SETTING.name()).getSettingValue(), OrderSetting.class); + Integer minute = orderSetting.getAutoCancel(); + cashierParam.setAutoCancel(cashierParam.getCreateTime().getTime() + minute * 1000 * 60); + return cashierParam; } - log.error("错误的支付请求:{}", payParam.toString()); throw new ServiceException(ResultCode.PAY_CASHIER_ERROR); } + + /** + * 支付结果 + * + * @param payParam + * @return + */ public Boolean paymentResult(PayParam payParam) { for (CashierExecute cashierExecute : cashierExecuteList) { if (cashierExecute.cashierEnum().name().equals(payParam.getOrderType())) { diff --git a/framework/src/main/java/cn/lili/modules/promotion/service/PromotionService.java b/framework/src/main/java/cn/lili/modules/promotion/service/PromotionService.java index 6b825e40..6698bbd2 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/service/PromotionService.java +++ b/framework/src/main/java/cn/lili/modules/promotion/service/PromotionService.java @@ -1,6 +1,6 @@ package cn.lili.modules.promotion.service; -import cn.lili.common.delayqueue.PromotionMessage; +import cn.lili.common.trigger.message.PromotionMessage; import cn.lili.modules.search.entity.dos.EsGoodsIndex; import java.util.Map; diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponServiceImpl.java index 86224b20..c9b2619d 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponServiceImpl.java @@ -1,9 +1,9 @@ package cn.lili.modules.promotion.serviceimpl; import cn.hutool.core.text.CharSequenceUtil; -import cn.lili.common.delayqueue.DelayQueueTools; -import cn.lili.common.delayqueue.DelayQueueType; -import cn.lili.common.delayqueue.PromotionMessage; +import cn.lili.common.trigger.util.DelayQueueTools; +import cn.lili.common.trigger.enums.DelayQueueType; +import cn.lili.common.trigger.message.PromotionMessage; import cn.lili.common.exception.ServiceException; import cn.lili.common.trigger.interfaces.TimeTrigger; import cn.lili.common.trigger.model.TimeExecuteConstant; diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/FullDiscountServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/FullDiscountServiceImpl.java index d38aa4e8..fac592a0 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/FullDiscountServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/FullDiscountServiceImpl.java @@ -1,8 +1,8 @@ package cn.lili.modules.promotion.serviceimpl; -import cn.lili.common.delayqueue.DelayQueueTools; -import cn.lili.common.delayqueue.DelayQueueType; -import cn.lili.common.delayqueue.PromotionMessage; +import cn.lili.common.trigger.util.DelayQueueTools; +import cn.lili.common.trigger.enums.DelayQueueType; +import cn.lili.common.trigger.message.PromotionMessage; import cn.lili.common.exception.ServiceException; import cn.lili.common.trigger.interfaces.TimeTrigger; import cn.lili.common.trigger.model.TimeExecuteConstant; diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PintuanServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PintuanServiceImpl.java index d67fbc01..03933971 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PintuanServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PintuanServiceImpl.java @@ -1,9 +1,9 @@ package cn.lili.modules.promotion.serviceimpl; import cn.hutool.core.bean.BeanUtil; -import cn.lili.common.delayqueue.DelayQueueTools; -import cn.lili.common.delayqueue.DelayQueueType; -import cn.lili.common.delayqueue.PromotionMessage; +import cn.lili.common.trigger.util.DelayQueueTools; +import cn.lili.common.trigger.enums.DelayQueueType; +import cn.lili.common.trigger.message.PromotionMessage; import cn.lili.common.exception.ServiceException; import cn.lili.common.trigger.interfaces.TimeTrigger; import cn.lili.common.trigger.model.TimeExecuteConstant; diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PointsGoodsServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PointsGoodsServiceImpl.java index 2871e4bf..bfebb8b2 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PointsGoodsServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PointsGoodsServiceImpl.java @@ -1,9 +1,9 @@ package cn.lili.modules.promotion.serviceimpl; import cn.hutool.core.util.StrUtil; -import cn.lili.common.delayqueue.DelayQueueTools; -import cn.lili.common.delayqueue.DelayQueueType; -import cn.lili.common.delayqueue.PromotionMessage; +import cn.lili.common.trigger.util.DelayQueueTools; +import cn.lili.common.trigger.enums.DelayQueueType; +import cn.lili.common.trigger.message.PromotionMessage; import cn.lili.common.exception.ServiceException; import cn.lili.common.trigger.interfaces.TimeTrigger; import cn.lili.common.trigger.model.TimeExecuteConstant; diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionServiceImpl.java index 976a5466..bf5565e4 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionServiceImpl.java @@ -3,7 +3,7 @@ package cn.lili.modules.promotion.serviceimpl; import cn.hutool.core.date.DateTime; import cn.hutool.core.util.ObjectUtil; import cn.hutool.json.JSONUtil; -import cn.lili.common.delayqueue.PromotionMessage; +import cn.lili.common.trigger.message.PromotionMessage; import cn.lili.common.exception.ServiceException; import cn.lili.common.utils.DateUtil; import cn.lili.modules.order.cart.entity.vo.FullDiscountVO; diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/SeckillServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/SeckillServiceImpl.java index 2a3c5415..426bf3d2 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/SeckillServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/SeckillServiceImpl.java @@ -1,8 +1,8 @@ package cn.lili.modules.promotion.serviceimpl; -import cn.lili.common.delayqueue.DelayQueueTools; -import cn.lili.common.delayqueue.DelayQueueType; -import cn.lili.common.delayqueue.PromotionMessage; +import cn.lili.common.trigger.util.DelayQueueTools; +import cn.lili.common.trigger.enums.DelayQueueType; +import cn.lili.common.trigger.message.PromotionMessage; import cn.lili.common.exception.ServiceException; import cn.lili.common.trigger.interfaces.TimeTrigger; import cn.lili.common.trigger.model.TimeExecuteConstant; diff --git a/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsIndexServiceImpl.java b/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsIndexServiceImpl.java index 26c3b1ba..d0df2bf7 100644 --- a/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsIndexServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsIndexServiceImpl.java @@ -153,10 +153,16 @@ public class EsGoodsIndexServiceImpl extends BaseElasticsearchService implements //索引名称拼接 String indexName = elasticsearchProperties.getIndexPrefix() + "_" + EsSuffix.GOODS_INDEX_NAME; - //如果索引不存在,则创建索引 - if (!indexExist(indexName)) { - createIndexRequest(indexName); + //索引初始化,因为mapping结构问题: + //但是如果索引已经自动生成过,这里就不会创建索引,设置mapping,所以这里决定在初始化索引的同时,将已有索引删除,重新创建 + + //如果索引存在,则删除,重新生成。 这里应该有更优解。 + if (this.indexExist(indexName)) { + deleteIndexRequest(indexName); } + + //如果索引不存在,则创建索引 + createIndexRequest(indexName); if (goodsIndexList != null && !goodsIndexList.isEmpty()) { goodsIndexRepository.deleteAll(); for (EsGoodsIndex goodsIndex : goodsIndexList) { diff --git a/framework/src/main/java/cn/lili/modules/system/entity/dto/SmsSetting.java b/framework/src/main/java/cn/lili/modules/system/entity/dto/SmsSetting.java index 4238b747..ca5281a2 100644 --- a/framework/src/main/java/cn/lili/modules/system/entity/dto/SmsSetting.java +++ b/framework/src/main/java/cn/lili/modules/system/entity/dto/SmsSetting.java @@ -6,7 +6,7 @@ import java.io.Serializable; /** * 短信配置 - * + * 这里在前台不做调整,方便客户直接把服务商的内容配置在我们平台 * @author Chopper * @date 2020/11/30 15:23 */ @@ -17,7 +17,7 @@ public class SmsSetting implements Serializable { * 节点地址 * key * 密钥 - * 签名,这里在前台不做调整,方便客户直接把服务商的内容配置在我们平台 + * 签名 */ private String regionId; diff --git a/framework/src/main/java/cn/lili/modules/system/serviceimpl/AppVersionServiceImpl.java b/framework/src/main/java/cn/lili/modules/system/serviceimpl/AppVersionServiceImpl.java index 8d31b954..45a31a10 100644 --- a/framework/src/main/java/cn/lili/modules/system/serviceimpl/AppVersionServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/system/serviceimpl/AppVersionServiceImpl.java @@ -29,7 +29,7 @@ public class AppVersionServiceImpl extends ServiceImpl().eq(AppVersion::getVersion,appVersion))){ + if(null!=this.getOne(new LambdaQueryWrapper().eq(AppVersion::getVersion,appVersion.getVersion()))){ throw new ServiceException(ResultCode.APP_VERSION_EXIST); } return true; diff --git a/manager-api/src/main/resources/application.yml b/manager-api/src/main/resources/application.yml index 32a020c0..0d6ad253 100644 --- a/manager-api/src/main/resources/application.yml +++ b/manager-api/src/main/resources/application.yml @@ -121,7 +121,7 @@ spring: props: #是否打印逻辑SQL语句和实际SQL语句,建议调试时打印,在生产环境关闭 sql: - show: true + show: false # 忽略鉴权url ignored: diff --git a/pom.xml b/pom.xml index 038c1a81..44ab8a88 100644 --- a/pom.xml +++ b/pom.xml @@ -25,6 +25,7 @@ seller-api common-api consumer + admin diff --git a/seller-api/src/main/java/cn/lili/controller/trade/OrderStoreController.java b/seller-api/src/main/java/cn/lili/controller/trade/OrderStoreController.java index e35593b0..9383e92d 100644 --- a/seller-api/src/main/java/cn/lili/controller/trade/OrderStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/trade/OrderStoreController.java @@ -143,7 +143,7 @@ public class OrderStoreController { @ApiOperation(value = "上传文件进行订单批量发货") @ApiImplicitParam(name = "file", value = "订单列表", required = true, dataType = "file", paramType = "query") - @PutMapping(value = "/batchDeliver") + @PostMapping(value = "/batchDeliver") public void batchDeliver(@RequestParam MultipartFile file) { InputStream inputStream = null; try { diff --git a/seller-api/src/main/resources/application.yml b/seller-api/src/main/resources/application.yml index b65c27be..fe58f5f8 100644 --- a/seller-api/src/main/resources/application.yml +++ b/seller-api/src/main/resources/application.yml @@ -121,7 +121,7 @@ spring: props: #是否打印逻辑SQL语句和实际SQL语句,建议调试时打印,在生产环境关闭 sql: - show: true + show: false # 忽略鉴权url ignored: