From 00e93c91f5d99e7778542cb0c0994b824d977fc0 Mon Sep 17 00:00:00 2001 From: lifenlong Date: Wed, 7 Jul 2021 16:17:38 +0800 Subject: [PATCH 01/16] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E5=95=86=E5=93=81=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/application.yml | 4 ++ .../serviceimpl/StudioServiceImpl.java | 59 ++++++++-------- .../broadcast/util/WechatLivePlayerUtil.java | 2 +- .../modules/order/order/entity/dos/Order.java | 67 ++++++++++++------- .../order/serviceimpl/OrderServiceImpl.java | 8 +-- .../promotion/entity/dos/PromotionGoods.java | 6 ++ .../broadcast/StudioStoreController.java | 2 +- 7 files changed, 87 insertions(+), 61 deletions(-) diff --git a/config/application.yml b/config/application.yml index 0e645d6b..10cc791b 100644 --- a/config/application.yml +++ b/config/application.yml @@ -144,6 +144,7 @@ ignored: - /buyer/promotion/pintuan/** - /buyer/promotion/seckill/** - /buyer/promotion/pointsGoods/** + - /buyer/promotion/coupon - /buyer/memberEvaluation/**/goodsEvaluation - /buyer/memberEvaluation/**/evaluationNumber - /buyer/appVersion/** @@ -163,6 +164,7 @@ ignored: - /v2/api-docs - /configuration/ui - /boot-admin + - /manager/promotion/seckill/init statics: - /**/*.js - /**/*.css @@ -295,6 +297,8 @@ lili: notice-send-group: lili_send_notice_group rocketmq: name-server: 192.168.0.116:9876 + namesrvAddr: 192.168.0.116:9876 + isVIPChannel: false producer: group: lili_group send-message-timeout: 30000 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 60396701..2b71cee5 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 @@ -61,40 +61,35 @@ public class StudioServiceImpl extends ServiceImpl impleme @Override public Boolean create(Studio studio) { - try { - //创建小程序直播 - Map roomMap = wechatLivePlayerUtil.create(studio); - studio.setRoomId(Convert.toInt(roomMap.get("roomId"))); - studio.setQrCodeUrl(roomMap.get("qrcodeUrl")); - studio.setStoreId(UserContext.getCurrentUser().getStoreId()); - studio.setStatus(StudioStatusEnum.NEW.name()); - //直播间添加成功发送直播间开启、关闭延时任务 - if (this.save(studio)) { - //直播开启延时任务 - BroadcastMessage broadcastMessage = new BroadcastMessage(studio.getId(), StudioStatusEnum.START.name()); - TimeTriggerMsg timeTriggerMsg = new TimeTriggerMsg(TimeExecuteConstant.BROADCAST_EXECUTOR, - Long.parseLong(studio.getStartTime()) * 1000L, - broadcastMessage, - DelayQueueTools.wrapperUniqueKey(DelayTypeEnums.BROADCAST, studio.getId()), - rocketmqCustomProperties.getPromotionTopic()); + //创建小程序直播 + Map roomMap = wechatLivePlayerUtil.create(studio); + studio.setRoomId(Convert.toInt(roomMap.get("roomId"))); + studio.setQrCodeUrl(roomMap.get("qrcodeUrl")); + studio.setStoreId(UserContext.getCurrentUser().getStoreId()); + studio.setStatus(StudioStatusEnum.NEW.name()); + //直播间添加成功发送直播间开启、关闭延时任务 + if (this.save(studio)) { + //直播开启延时任务 + BroadcastMessage broadcastMessage = new BroadcastMessage(studio.getId(), StudioStatusEnum.START.name()); + TimeTriggerMsg timeTriggerMsg = new TimeTriggerMsg(TimeExecuteConstant.BROADCAST_EXECUTOR, + Long.parseLong(studio.getStartTime()) * 1000L, + broadcastMessage, + DelayQueueTools.wrapperUniqueKey(DelayTypeEnums.BROADCAST, studio.getId()), + rocketmqCustomProperties.getPromotionTopic()); - //发送促销活动开始的延时任务 - this.timeTrigger.addDelay(timeTriggerMsg); + //发送促销活动开始的延时任务 + this.timeTrigger.addDelay(timeTriggerMsg); - //直播结束延时任务 - broadcastMessage = new BroadcastMessage(studio.getId(), StudioStatusEnum.END.name()); - timeTriggerMsg = new TimeTriggerMsg(TimeExecuteConstant.BROADCAST_EXECUTOR, - Long.parseLong(studio.getEndTime()) * 1000L, broadcastMessage, - DelayQueueTools.wrapperUniqueKey(DelayTypeEnums.BROADCAST, studio.getId()), - rocketmqCustomProperties.getPromotionTopic()); - //发送促销活动开始的延时任务 - this.timeTrigger.addDelay(timeTriggerMsg); - } - return true; - - } catch (Exception e) { - throw new ServiceException(ResultCode.ERROR); - } + //直播结束延时任务 + broadcastMessage = new BroadcastMessage(studio.getId(), StudioStatusEnum.END.name()); + timeTriggerMsg = new TimeTriggerMsg(TimeExecuteConstant.BROADCAST_EXECUTOR, + Long.parseLong(studio.getEndTime()) * 1000L, broadcastMessage, + DelayQueueTools.wrapperUniqueKey(DelayTypeEnums.BROADCAST, studio.getId()), + rocketmqCustomProperties.getPromotionTopic()); + //发送促销活动开始的延时任务 + this.timeTrigger.addDelay(timeTriggerMsg); + } + return true; } diff --git a/framework/src/main/java/cn/lili/modules/broadcast/util/WechatLivePlayerUtil.java b/framework/src/main/java/cn/lili/modules/broadcast/util/WechatLivePlayerUtil.java index 776f85a9..6acc1ef9 100644 --- a/framework/src/main/java/cn/lili/modules/broadcast/util/WechatLivePlayerUtil.java +++ b/framework/src/main/java/cn/lili/modules/broadcast/util/WechatLivePlayerUtil.java @@ -37,7 +37,7 @@ public class WechatLivePlayerUtil { * @param studio 小程序直播 * @return 房间ID */ - public Map create(Studio studio) throws Exception { + public Map create(Studio studio) { //发送url String url = "https://api.weixin.qq.com/wxaapi/broadcast/room/create?access_token="; //添加直播间 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 daafdca9..42068b07 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 @@ -4,6 +4,7 @@ import cn.hutool.json.JSONUtil; import cn.lili.base.BaseEntity; import cn.lili.common.utils.BeanUtil; import cn.lili.modules.base.entity.enums.ClientTypeEnum; +import cn.lili.modules.goods.entity.enums.GoodsTypeEnum; import cn.lili.modules.order.cart.entity.enums.CartTypeEnum; import cn.lili.modules.order.cart.entity.enums.DeliveryMethodEnum; import cn.lili.modules.order.order.entity.dto.PriceDetailDTO; @@ -14,10 +15,7 @@ import cn.lili.modules.order.order.entity.enums.PayStatusEnum; import cn.lili.modules.promotion.entity.dos.PromotionGoods; import cn.lili.modules.promotion.entity.enums.PromotionTypeEnum; import cn.lili.modules.order.cart.entity.dto.TradeDTO; -import cn.lili.modules.order.cart.entity.enums.CartTypeEnum; -import cn.lili.modules.order.cart.entity.enums.DeliveryMethodEnum; import cn.lili.modules.order.cart.entity.vo.CartVO; -import cn.lili.modules.order.order.entity.dto.PriceDetailDTO; import cn.lili.modules.order.order.entity.enums.*; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; @@ -172,7 +170,7 @@ public class Order extends BaseEntity { private Boolean needReceipt; @ApiModelProperty(value = "是否为其他订单下的订单,如果是则为依赖订单的sn,否则为空") - private String parentOrderSn; + private String parentOrderSn=""; @ApiModelProperty(value = "是否为某订单类型的订单,如果是则为订单类型的id,否则为空") private String promotionId; @@ -219,25 +217,9 @@ public class Order extends BaseEntity { BeanUtil.copyProperties(tradeDTO, this); BeanUtil.copyProperties(cartVO.getPriceDetailDTO(), this); BeanUtil.copyProperties(cartVO, this); - //订单类型判断--普通订单,虚拟订单。 - if (tradeDTO.getCartTypeEnum().equals(CartTypeEnum.CART) || tradeDTO.getCartTypeEnum().equals(CartTypeEnum.BUY_NOW)) { - this.setOrderType(OrderTypeEnum.NORMAL.name()); - } else if (tradeDTO.getCartTypeEnum().equals(CartTypeEnum.VIRTUAL)) { - this.setOrderType(tradeDTO.getCartTypeEnum().name()); - } - this.setId(oldId); - - //促销信息填充 -// if (cartVO.getSkuList().get(0).getPromotions() != null && tradeDTO.getCartTypeEnum().equals(CartTypeEnum.PINTUAN)) { -// Optional pintuanId = cartVO.getSkuList().get(0).getPromotions().stream().filter(i -> i.getPromotionType().equals(PromotionTypeEnum.PINTUAN.name())).map(PromotionGoods::getPromotionId).findFirst(); -// if (pintuanId.isPresent()) { -// promotionId = pintuanId.get(); -// this.setOrderType(OrderTypeEnum.PINTUAN.name()); -// if (tradeDTO.getParentOrderSn() == null) { -// this.setParentOrderSn(""); -// } -// } -// } + //填写订单类型 + this.setTradeType(cartVO,tradeDTO); + setId(oldId); //设置默认支付状态 this.setOrderStatus(OrderStatusEnum.UNPAID.name()); @@ -264,8 +246,46 @@ public class Order extends BaseEntity { } this.setUseStoreMemberCouponIds(storeCouponIds.toString()); } + } + + /** + * 填写交易(订单)类型 + * 1.判断是普通、促销订单 + * 2.普通订单进行区分:实物订单、虚拟订单 + * 3.促销订单判断货物进行区分实物、虚拟商品。 + * 4.拼团订单需要填写父订单ID + * @param cartVO 购物车VO + * @param tradeDTO 交易DTO + */ + private void setTradeType(CartVO cartVO, TradeDTO tradeDTO){ + + //判断是否为普通订单、促销订单 + if (tradeDTO.getCartTypeEnum().equals(CartTypeEnum.CART) || tradeDTO.getCartTypeEnum().equals(CartTypeEnum.BUY_NOW)) { + this.setOrderType(OrderTypeEnum.NORMAL.name()); + }else if (tradeDTO.getCartTypeEnum().equals(CartTypeEnum.VIRTUAL)) { + this.setOrderType(OrderTypeEnum.VIRTUAL.name()); + }else{ + //促销订单(拼团、积分)-判断购买的是虚拟商品还是实物商品 + String goodsType=cartVO.getSkuList().get(0).getGoodsSku().getGoodsType(); + if(goodsType.equals(GoodsTypeEnum.PHYSICAL_GOODS.name())){ + this.setOrderType(OrderTypeEnum.NORMAL.name()); + }else{ + this.setOrderType(OrderTypeEnum.VIRTUAL.name()); + } + //填写订单的促销类型 + this.setOrderPromotionType(tradeDTO.getCartTypeEnum().name()); + + //判断是否为拼团订单,如果为拼团订单获取拼团ID,判断是否为主订单 + if (tradeDTO.getCartTypeEnum().name().equals(PromotionTypeEnum.PINTUAN.name())) { + Optional pintuanId = cartVO.getSkuList().get(0).getPromotions().stream().filter(i -> i.getPromotionType().equals(PromotionTypeEnum.PINTUAN.name())).map(PromotionGoods::getPromotionId).findFirst(); + promotionId = pintuanId.get(); + } + } + } + + public PriceDetailDTO getPriceDetailDTO() { try { @@ -279,4 +299,5 @@ public class Order extends BaseEntity { this.priceDetail = JSONUtil.toJsonStr(priceDetail); } + } \ No newline at end of file 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 e2ef4bca..51247b2f 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 @@ -666,16 +666,16 @@ public class OrderServiceImpl extends ServiceImpl implements * 根据提供的拼团订单列表更新拼团状态为拼团成功 * 循环订单列表根据不同的订单类型进行确认订单 * - * @param list 需要更新拼团状态为成功的拼团订单列表 + * @param orderList 需要更新拼团状态为成功的拼团订单列表 */ - private void pintuanOrderSuccess(List list) { - list.forEach(order -> { + private void pintuanOrderSuccess(List orderList) { + for (Order order:orderList) { if (order.getOrderType().equals(OrderTypeEnum.VIRTUAL.name())) { this.virtualOrderConfirm(order.getSn()); } else if (order.getOrderType().equals(OrderTypeEnum.NORMAL.name())) { this.normalOrderConfirm(order.getSn()); } - }); + } } /** diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/dos/PromotionGoods.java b/framework/src/main/java/cn/lili/modules/promotion/entity/dos/PromotionGoods.java index efb517d9..ad85dcde 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/dos/PromotionGoods.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/dos/PromotionGoods.java @@ -63,6 +63,12 @@ public class PromotionGoods extends BaseEntity { @ApiModelProperty(value = "促销工具类型") private String promotionType; + /** + * @see cn.lili.modules.goods.entity.enums.GoodsTypeEnum + */ + @ApiModelProperty(value = "商品类型") + private String goodsType; + @ApiModelProperty(value = "活动标题") private String title; diff --git a/seller-api/src/main/java/cn/lili/controller/other/broadcast/StudioStoreController.java b/seller-api/src/main/java/cn/lili/controller/other/broadcast/StudioStoreController.java index 36831063..592aec0b 100644 --- a/seller-api/src/main/java/cn/lili/controller/other/broadcast/StudioStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/other/broadcast/StudioStoreController.java @@ -56,7 +56,7 @@ public class StudioStoreController { @ApiOperation(value = "修改直播间") @PutMapping("/edit") - public ResultMessage edit(@Validated Studio studio) { + public ResultMessage edit(Studio studio) { if (studioService.edit(studio)) { return ResultUtil.success(ResultCode.SUCCESS); } From 6aadd00e4567865dbc0ddcbf9249d315ff4d498d Mon Sep 17 00:00:00 2001 From: lifenlong Date: Thu, 8 Jul 2021 09:35:25 +0800 Subject: [PATCH 02/16] =?UTF-8?q?=E4=BC=98=E6=83=A0=E5=88=B8=E6=8C=89?= =?UTF-8?q?=E7=85=A7=E6=B7=BB=E5=8A=A0=E6=97=B6=E9=97=B4=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 +-- .../modules/promotion/entity/vos/CouponSearchParams.java | 1 + update-sql/version4.1to4.2.sql | 5 ++++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 986587c1..0741c391 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,7 @@ ![image-20210511171611793](https://pickmall.cn/assets/imgs/h5-qrcode.png) [![star](https://gitee.com/beijing_hongye_huicheng/lilishop/badge/star.svg?theme=dark)](https://gitee.com/beijing_hongye_huicheng/lilishop/stargazers) - -![github](https://img.shields.io/github/stars/hongyehuicheng/lilishop.svg?style=social&logo=#181717) +  ![github](https://img.shields.io/github/stars/hongyehuicheng/lilishop.svg?style=social&logo=#181717) ### 介绍 diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/vos/CouponSearchParams.java b/framework/src/main/java/cn/lili/modules/promotion/entity/vos/CouponSearchParams.java index 56d44921..7cfe4f03 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/vos/CouponSearchParams.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/vos/CouponSearchParams.java @@ -113,6 +113,7 @@ public class CouponSearchParams implements Serializable { } this.betweenWrapper(queryWrapper); queryWrapper.eq("delete_flag", false); + queryWrapper.orderByDesc("create_time"); return queryWrapper; } diff --git a/update-sql/version4.1to4.2.sql b/update-sql/version4.1to4.2.sql index f7e80053..c801755e 100644 --- a/update-sql/version4.1to4.2.sql +++ b/update-sql/version4.1to4.2.sql @@ -6,4 +6,7 @@ ALTER TABLE li_distribution ADD settlement_bank_branch_name varchar ( 200 ); /** 文章分类添加默认值**/ ALTER TABLE li_article_category alter column sort set default 0; /** 添加分销提现菜单**/ -INSERT INTO `lilishop`.`li_menu`(`id`, `create_by`, `create_time`, `delete_flag`, `update_by`, `update_time`, `description`, `front_route`, `icon`, `level`, `name`, `parent_id`, `path`, `sort_order`, `title`, `front_component`) VALUES (1410862675914764290, 'admin', '2021-07-02 15:27:29', b'0', 'admin', '2021-07-02 15:27:45', 'null', 'distribution/distributionCash', '', 2, 'distributionCash', '1374173575405109248', 'distributionCash', 5.00, '分销提现', 'null'); \ No newline at end of file +INSERT INTO `lilishop`.`li_menu`(`id`, `create_by`, `create_time`, `delete_flag`, `update_by`, `update_time`, `description`, `front_route`, `icon`, `level`, `name`, `parent_id`, `path`, `sort_order`, `title`, `front_component`) VALUES (1410862675914764290, 'admin', '2021-07-02 15:27:29', b'0', 'admin', '2021-07-02 15:27:45', 'null', 'distribution/distributionCash', '', 2, 'distributionCash', '1374173575405109248', 'distributionCash', 5.00, '分销提现', 'null'); + +/** 促销商品添加商品类型**/ +ALTER TABLE li_promotion_goods ADD goods_type varchar (200); \ No newline at end of file From 9e240f22b67f8c1635d0f9aad63f1e9b701539ff Mon Sep 17 00:00:00 2001 From: lifenlong Date: Thu, 8 Jul 2021 09:59:54 +0800 Subject: [PATCH 03/16] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=94=AE=E5=90=8E?= =?UTF-8?q?=E5=8D=95=E5=88=97=E8=A1=A8=E7=9A=84=E6=8E=92=E5=BA=8F=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/application.yml | 8 ++++---- .../order/order/entity/vo/AfterSaleSearchParams.java | 2 -- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/config/application.yml b/config/application.yml index 10cc791b..2193b51f 100644 --- a/config/application.yml +++ b/config/application.yml @@ -121,7 +121,7 @@ spring: props: #是否打印逻辑SQL语句和实际SQL语句,建议调试时打印,在生产环境关闭 sql: - show: false + show: true # 忽略鉴权url ignored: @@ -196,9 +196,9 @@ logging: # 输出级别 level: cn.lili: info - org.hibernate: debug - org.springframework: debug - org.springframework.data.mongodb.core: debug +# org.hibernate: debug +# org.springframework: debug +# org.springframework.data.mongodb.core: debug file: # 指定路径 path: lili-logs diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/vo/AfterSaleSearchParams.java b/framework/src/main/java/cn/lili/modules/order/order/entity/vo/AfterSaleSearchParams.java index 36001982..2de3d6ec 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/entity/vo/AfterSaleSearchParams.java +++ b/framework/src/main/java/cn/lili/modules/order/order/entity/vo/AfterSaleSearchParams.java @@ -111,8 +111,6 @@ public class AfterSaleSearchParams extends PageVO { } this.betweenWrapper(queryWrapper); queryWrapper.eq("delete_flag", false); - - queryWrapper.orderByDesc("create_time"); return queryWrapper; } From 3e7325792265a826e859121a89c09b8a3975310d Mon Sep 17 00:00:00 2001 From: lifenlong Date: Fri, 9 Jul 2021 01:56:24 +0800 Subject: [PATCH 04/16] =?UTF-8?q?=E9=87=87=E7=94=A8=E9=98=BF=E9=87=8C?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=A7=84=E7=BA=A6=EF=BC=8C=E5=AF=B9=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E8=BF=9B=E8=A1=8C=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MemberWithdrawApplyBuyerController.java | 4 +- .../DistributionBuyerController.java | 2 - .../controller/common/FileController.java | 1 + .../common/SliderImageController.java | 3 +- .../lili/controller/common/SmsController.java | 3 +- .../event/impl/DistributionOrderExecute.java | 13 +- .../lili/event/impl/NoticeMessageExecute.java | 10 +- .../cn/lili/event/impl/PaymentExecute.java | 5 + .../listener/AfterSaleMessageListener.java | 6 +- .../lili/listener/GoodsMessageListener.java | 4 +- .../handler/impl/bill/BillExecute.java | 8 +- .../handler/impl/goods/GoodsExecute.java | 14 +- .../impl/order/CancelOrderTaskExecute.java | 10 +- .../impl/storeRating/StoreRatingExecute.java | 12 +- .../trigger/AbstractDelayQueueListen.java | 3 +- .../common/aop/limiter/LimitInterceptor.java | 9 +- .../syslog/interceptor/SystemLogAspect.java | 8 +- .../main/java/cn/lili/common/cache/Cache.java | 1 + .../cn/lili/common/cache/CachePrefix.java | 24 ++- .../cn/lili/common/cache/impl/RedisCache.java | 9 +- .../BaseElasticsearchService.java | 7 - .../java/cn/lili/common/enums/ResultCode.java | 1 + .../java/cn/lili/common/enums/ResultUtil.java | 7 +- .../common/exception/ServiceException.java | 8 +- .../rocketmq/tags/AfterSaleTagsEnum.java | 8 + .../common/rocketmq/tags/GoodsTagsEnum.java | 24 +++ .../common/rocketmq/tags/MemberTagsEnum.java | 15 +- .../common/rocketmq/tags/MqOrderTagsEnum.java | 11 +- .../common/rocketmq/tags/OtherTagsEnum.java | 9 +- .../common/security/context/UserContext.java | 27 ++- .../security/context/UserContextInit.java | 2 +- .../filter/XssHttpServletRequestWrapper.java | 58 +++---- .../java/cn/lili/common/sms/AliSmsUtil.java | 16 +- .../main/java/cn/lili/common/sms/SmsUtil.java | 2 + .../sms/impl/SmsUtilAliImplService.java | 22 +-- .../cn/lili/common/token/SecretKeyUtil.java | 3 +- .../base/generate/ManagerTokenGenerate.java | 2 +- .../AbstractDelayQueueMachineFactory.java | 1 + .../common/trigger/enums/DelayQueueEnums.java | 3 + .../java/cn/lili/common/utils/BeanUtil.java | 14 +- .../cn/lili/common/utils/CheckMobileUtil.java | 53 ------ .../cn/lili/common/utils/CurrencyUtil.java | 29 ++-- .../java/cn/lili/common/utils/DateUtil.java | 4 +- .../cn/lili/common/utils/HttpClientUtils.java | 78 ++++++--- .../java/cn/lili/common/utils/IpHelper.java | 12 +- .../common/utils/OperationalJudgment.java | 3 +- .../cn/lili/common/utils/PasswordUtil.java | 157 ------------------ .../java/cn/lili/common/utils/RedisUtil.java | 3 +- .../cn/lili/common/utils/RegularUtil.java | 14 +- .../java/cn/lili/common/utils/SpelUtil.java | 15 +- .../cn/lili/common/utils/StringUtils.java | 2 +- .../cn/lili/common/utils/ThreadPoolUtil.java | 10 +- .../validation/impl/MobileValidator.java | 22 ++- .../validation/impl/PhoneValidator.java | 7 +- .../lili/common/verification/ImageUtil.java | 12 +- .../common/verification/SliderImageUtil.java | 15 +- .../service/VerificationService.java | 8 +- .../config/cache/FastJsonRedisSerializer.java | 7 +- .../cn/lili/config/cache/RedisConfig.java | 8 +- .../elasticsearch/ElasticsearchConfig.java | 6 +- .../config/interceptor/UrlConfiguration.java | 6 +- .../config/properties/SmsTemplateSetting.java | 22 ++- .../config/properties/ThreadProperties.java | 2 +- .../CreateTimeShardingDatabaseAlgorithm.java | 4 +- .../CreateTimeShardingTableAlgorithm.java | 6 +- .../CreateTimeShardingTableAlgorithmBak.java | 12 +- .../java/cn/lili/generator/CodeGenerator.java | 72 ++++---- .../cn/lili/modules/base/aspect/DemoSite.java | 3 + .../base/entity/enums/ClientTypeEnum.java | 15 ++ .../entity/enums/VerificationSourceEnum.java | 7 +- .../modules/base/service/RegionService.java | 7 +- .../service/VerificationSourceService.java | 6 +- .../base/serviceimpl/RegionServiceImpl.java | 44 ++--- .../broadcast/entity/dos/Commodity.java | 8 +- .../broadcast/entity/dto/CommodityDTO.java | 16 +- .../broadcast/entity/dto/GoodsInfo.java | 12 +- .../entity/enums/StudioStatusEnum.java | 18 +- .../broadcast/mapper/CommodityMapper.java | 25 ++- .../broadcast/service/CommodityService.java | 1 + .../serviceimpl/CommodityServiceImpl.java | 6 +- .../serviceimpl/StudioServiceImpl.java | 2 - .../broadcast/util/WechatLivePlayerUtil.java | 20 +-- .../broadcast/util/WechatMediaUtil.java | 8 +- .../connect/entity/dto/AuthCallback.java | 2 +- .../modules/connect/entity/dto/AuthToken.java | 32 +++- .../connect/entity/enums/AuthUserGender.java | 3 +- .../connect/entity/enums/ConnectEnum.java | 3 +- .../connect/request/AuthAlipayRequest.java | 2 +- .../connect/request/AuthDefaultRequest.java | 4 - .../connect/service/ConnectConfigService.java | 8 +- .../connect/service/ConnectService.java | 17 +- .../modules/connect/util/AuthChecker.java | 2 +- .../modules/connect/util/Base64Utils.java | 39 ++--- .../modules/connect/util/ConnectUtil.java | 51 ++---- .../entity/dos/DistributionGoods.java | 2 +- .../mapper/DistributionGoodsMapper.java | 23 +++ .../mapper/DistributionMapper.java | 16 +- .../mapper/DistributionOrderMapper.java | 5 +- .../service/DistributionCashService.java | 6 +- .../service/DistributionService.java | 16 +- .../DistributionCashServiceImpl.java | 12 +- .../DistributionGoodsServiceImpl.java | 12 +- .../DistributionOrderServiceImpl.java | 18 +- .../DistributionSelectedGoodsServiceImpl.java | 18 +- .../serviceimpl/DistributionServiceImpl.java | 43 ++--- .../plugin/impl/AliFileManagerPlugin.java | 4 +- .../modules/file/service/FileService.java | 4 +- .../file/serviceimpl/FileServiceImpl.java | 2 +- .../goods/entity/dto/GoodsOperationDTO.java | 4 +- .../entity/enums/DraftGoodsSaveType.java | 7 +- .../goods/entity/enums/GoodsTypeEnum.java | 12 +- .../goods/entity/vos/StockWarningVO.java | 2 +- .../modules/goods/mapper/CategoryMapper.java | 6 + .../modules/goods/mapper/GoodsMapper.java | 14 ++ .../goods/mapper/GoodsParamsMapper.java | 22 --- .../goods/service/CategoryService.java | 8 + .../modules/goods/service/GoodsService.java | 18 +- .../goods/service/GoodsSkuService.java | 14 +- .../goods/serviceimpl/BrandServiceImpl.java | 7 +- .../serviceimpl/CategoryBrandServiceImpl.java | 2 +- .../CategoryParameterGroupServiceImpl.java | 7 +- .../serviceimpl/CategoryServiceImpl.java | 16 +- .../CategorySpecificationServiceImpl.java | 2 +- .../serviceimpl/DraftGoodsServiceImpl.java | 16 +- .../serviceimpl/GoodsGalleryServiceImpl.java | 11 +- .../goods/serviceimpl/GoodsServiceImpl.java | 54 ++++-- .../serviceimpl/GoodsSkuServiceImpl.java | 68 +++++--- .../serviceimpl/GoodsUnitServiceImpl.java | 1 - .../serviceimpl/ParametersServiceImpl.java | 1 - .../serviceimpl/SpecificationServiceImpl.java | 10 +- .../entity/vo/MemberEvaluationListVO.java | 2 +- .../member/entity/vo/StoreCollectionVO.java | 2 +- .../member/mapper/FootprintMapper.java | 8 + .../member/mapper/GoodsCollectionMapper.java | 7 + .../member/mapper/MemberEvaluationMapper.java | 25 +++ .../modules/member/mapper/MemberMapper.java | 8 + .../mapper/MemberPointsHistoryMapper.java | 13 ++ .../member/mapper/MemberSignMapper.java | 20 ++- .../member/mapper/StoreCollectionMapper.java | 7 + .../service/MemberEvaluationService.java | 9 +- .../modules/member/service/MemberService.java | 12 +- .../member/service/MemberWalletService.java | 7 +- .../serviceimpl/FootprintServiceImpl.java | 10 +- .../GoodsCollectionServiceImpl.java | 8 +- .../MemberEvaluationServiceImpl.java | 30 +++- .../MemberNoticeSenterServiceImpl.java | 11 +- .../MemberPointsHistoryServiceImpl.java | 1 - .../serviceimpl/MemberReceiptServiceImpl.java | 1 - .../member/serviceimpl/MemberServiceImpl.java | 29 +++- .../serviceimpl/MemberSignServiceImpl.java | 18 +- .../serviceimpl/MemberWalletServiceImpl.java | 18 +- .../MemberWithdrawApplyServiceImpl.java | 7 +- .../StoreCollectionServiceImpl.java | 2 - .../entity/enums/MessageRangeEnum.java | 10 +- .../message/entity/enums/MessageTitle.java | 8 +- .../enums/NoticeMessageParameterEnum.java | 24 ++- .../entity/enums/WechatMessageItemEnums.java | 34 +++- .../message/mapper/StoreMessageMapper.java | 7 + .../message/mapper/WechatMPMessageMapper.java | 4 + .../message/mapper/WechatMessageMapper.java | 4 + .../message/service/SmsReachService.java | 1 + .../message/service/StoreMessageService.java | 9 +- .../serviceimpl/MemberMessageServiceImpl.java | 1 - .../serviceimpl/MessageServiceImpl.java | 2 +- .../serviceimpl/NoticeMessageServiceImpl.java | 1 - .../serviceimpl/SmsReachServiceImpl.java | 1 - .../serviceimpl/SmsSignServiceImpl.java | 4 +- .../serviceimpl/SmsTemplateServiceImpl.java | 4 +- .../serviceimpl/StoreMessageServiceImpl.java | 2 - .../WechatMPMessageServiceImpl.java | 34 ++-- .../serviceimpl/WechatMessageServiceImpl.java | 9 +- .../message/util/WechatMessageData.java | 2 +- .../message/util/WechatMessageUtil.java | 14 +- .../message/util/WechatMpCodeUtil.java | 4 +- .../cart/entity/enums/DeliveryMethodEnum.java | 9 + .../order/cart/render/TradeBuilder.java | 14 +- .../cart/render/impl/CartPriceRender.java | 6 +- .../cart/render/impl/SkuPromotionRender.java | 34 +--- .../order/cart/service/CartServiceImpl.java | 35 ++-- .../aop/AfterSaleOperationLogAspect.java | 2 +- .../order/aop/OrderOperationLogAspect.java | 2 +- .../order/order/entity/dos/AfterSale.java | 4 +- .../order/entity/dos/AfterSaleReason.java | 6 + .../modules/order/order/entity/dos/Order.java | 1 - .../order/entity/dto/PriceDetailDTO.java | 9 +- .../entity/vo/AfterSaleAllowOperation.java | 4 +- .../order/entity/vo/AfterSaleApplyVO.java | 4 +- .../order/order/entity/vo/AfterSaleVO.java | 2 + .../order/order/mapper/AfterSaleMapper.java | 13 ++ .../order/order/mapper/OrderItemMapper.java | 6 + .../order/order/mapper/OrderMapper.java | 28 +++- .../order/order/mapper/TradeMapper.java | 5 + .../order/order/service/AfterSaleService.java | 18 +- .../order/service/OrderComplaintService.java | 2 + .../order/service/OrderPriceService.java | 1 + .../order/order/service/OrderService.java | 9 +- .../order/order/service/StoreFlowService.java | 4 +- .../serviceimpl/AfterSaleLogServiceImpl.java | 2 +- .../AfterSaleReasonServiceImpl.java | 4 +- .../serviceimpl/AfterSaleServiceImpl.java | 41 +++-- ...rderComplaintCommunicationServiceImpl.java | 1 - .../OrderComplaintServiceImpl.java | 19 ++- .../serviceimpl/OrderItemServiceImpl.java | 4 +- .../serviceimpl/OrderPriceServiceImpl.java | 27 ++- .../order/serviceimpl/OrderServiceImpl.java | 50 ++++-- .../order/serviceimpl/ReceiptServiceImpl.java | 1 - .../serviceimpl/StoreFlowServiceImpl.java | 14 +- .../order/serviceimpl/TradeServiceImpl.java | 2 +- .../entity/enums/AfterSaleRefundWayEnum.java | 7 +- .../serviceimpl/OrderLogServiceImpl.java | 5 +- .../serviceimpl/RechargeServiceImpl.java | 6 +- .../serviceimpl/WalletLogServiceImpl.java | 2 +- .../modules/page/entity/dos/PageData.java | 1 - .../page/entity/dto/ArticleSearchParams.java | 1 - .../modules/page/mapper/ArticleMapper.java | 7 + .../modules/page/mapper/PageDataMapper.java | 19 +++ .../page/service/ArticleCategoryService.java | 3 + .../modules/page/service/ArticleService.java | 8 +- .../ArticleCategoryServiceImpl.java | 28 +++- .../page/serviceimpl/ArticleServiceImpl.java | 2 +- .../page/serviceimpl/FeedbackServiceImpl.java | 2 +- .../page/serviceimpl/SpecialServiceImpl.java | 8 +- .../modules/payment/kit/CashierSupport.java | 12 +- .../cn/lili/modules/payment/kit/Payment.java | 9 - .../modules/payment/kit/RefundSupport.java | 12 +- .../modules/payment/kit/core/kit/HttpKit.java | 2 +- .../payment/kit/enums/PaymentMethodEnum.java | 12 ++ .../payment/kit/params/impl/OrderCashier.java | 8 +- .../kit/params/impl/RechargeCashier.java | 11 +- .../payment/kit/params/impl/TradeCashier.java | 12 +- .../payment/kit/plugin/alipay/AliPayApi.java | 2 +- .../kit/plugin/alipay/AliPayApiConfigKit.java | 2 +- .../kit/plugin/alipay/AliPayPlugin.java | 21 ++- .../BankTransferPlugin.java | 10 +- .../kit/plugin/wallet/WalletPlugin.java | 16 +- .../kit/plugin/wechat/WechatPlugin.java | 43 +++-- .../permission/entity/dto/AdminUserDTO.java | 3 +- .../modules/permission/mapper/MenuMapper.java | 12 ++ .../permission/service/AdminUserService.java | 11 +- .../permission/service/SystemLogService.java | 9 +- .../permission/service/UserRoleService.java | 4 +- .../serviceimpl/AdminUserServiceImpl.java | 12 +- .../serviceimpl/DepartmentServiceImpl.java | 14 +- .../serviceimpl/MenuServiceImpl.java | 8 +- .../serviceimpl/RoleMenuServiceImpl.java | 4 +- .../serviceimpl/RoleServiceImpl.java | 10 +- .../serviceimpl/SystemLogServiceImpl.java | 3 +- .../serviceimpl/UserRoleServiceImpl.java | 2 +- .../entity/dto/CouponActivityDTO.java | 2 - .../enums/CouponActivitySendTypeEnum.java | 6 + .../entity/enums/CouponActivityTypeEnum.java | 6 + .../entity/enums/PromotionStatusEnum.java | 17 +- .../mapper/CouponActivityItemMapper.java | 9 +- .../promotion/mapper/PointsGoodsMapper.java | 8 +- .../mapper/PromotionGoodsMapper.java | 9 +- .../promotion/mapper/SeckillMapper.java | 5 + .../service/CouponActivityService.java | 8 +- .../service/MemberAddressService.java | 3 +- .../CouponActivityServiceImpl.java | 17 +- .../serviceimpl/CouponServiceImpl.java | 49 ++++-- .../serviceimpl/FullDiscountServiceImpl.java | 33 ++-- .../serviceimpl/MemberCouponServiceImpl.java | 2 +- .../serviceimpl/PintuanServiceImpl.java | 33 +++- .../serviceimpl/PointsGoodsServiceImpl.java | 20 ++- .../PromotionGoodsServiceImpl.java | 32 +++- .../PromotionPriceServiceImpl.java | 24 +-- .../serviceimpl/PromotionServiceImpl.java | 100 +++++++---- .../serviceimpl/SeckillApplyServiceImpl.java | 43 +++-- .../serviceimpl/SeckillServiceImpl.java | 43 +++-- .../promotion/tools/PromotionTools.java | 1 - .../PurchaseOrderItemServiceImpl.java | 1 - .../serviceimpl/PurchaseOrderServiceImpl.java | 7 +- .../PurchaseQuotedItemServiceImpl.java | 1 - .../PurchaseQuotedServiceImpl.java | 1 - .../entity/enums/HotWordsRedisKeyEnum.java | 3 + .../search/service/EsGoodsSearchService.java | 9 +- .../serviceimpl/EsGoodsIndexServiceImpl.java | 2 +- .../serviceimpl/EsGoodsSearchServiceImpl.java | 19 ++- .../modules/statistics/aop/PageViewPoint.java | 3 + .../aop/aspect/PageViewInterceptor.java | 7 +- .../mapper/GoodsStatisticsDataMapper.java | 15 +- .../mapper/MemberStatisticsDataMapper.java | 7 +- .../mapper/OrderStatisticsDataMapper.java | 10 ++ .../mapper/PlatformViewDataMapper.java | 7 +- .../RefundOrderStatisticsDataMapper.java | 7 + .../mapper/StoreStatisticsDataMapper.java | 7 + .../model/vo/IndexStatisticsVO.java | 2 - .../statistics/model/vo/OnlineMemberVO.java | 8 +- .../statistics/model/vo/OrderOverviewVO.java | 16 +- .../service/IndexStatisticsService.java | 2 + .../service/OrderStatisticsDataService.java | 4 + .../service/RefundOrderStatisticsService.java | 1 + .../OrderStatisticsDataServiceImpl.java | 15 +- .../PlatformViewDataServiceImpl.java | 24 ++- .../statistics/util/StatisticsDateUtil.java | 4 + .../lili/modules/store/entity/dos/Bill.java | 16 +- .../modules/store/entity/dos/StoreDetail.java | 1 + .../store/entity/dos/StoreLogistics.java | 2 +- .../store/entity/dto/AdminStoreApplyDTO.java | 3 +- .../store/entity/dto/StoreBankDTO.java | 1 - .../store/entity/dto/StoreCompanyDTO.java | 3 + .../store/entity/dto/StoreEditDTO.java | 5 +- .../store/entity/enums/BillStatusEnum.java | 9 + .../entity/vos/StoreManagementCategoryVO.java | 2 +- .../lili/modules/store/mapper/BillMapper.java | 19 +++ .../store/mapper/StoreDetailMapper.java | 36 ++++ .../modules/store/service/BillService.java | 2 + .../service/FreightTemplateChildService.java | 5 +- .../store/service/FreightTemplateService.java | 3 +- .../store/service/StoreAddressService.java | 1 + .../store/service/StoreDetailService.java | 9 + .../modules/store/service/StoreService.java | 6 + .../store/serviceimpl/BillServiceImpl.java | 33 ++-- .../FreightTemplateServiceChildImpl.java | 4 +- .../FreightTemplateServiceImpl.java | 14 +- .../serviceimpl/StoreDetailServiceImpl.java | 8 +- .../StoreGoodsLabelServiceImpl.java | 5 +- .../store/serviceimpl/StoreServiceImpl.java | 24 ++- .../system/entity/dto/OrderSetting.java | 12 +- .../modules/system/entity/dto/OssSetting.java | 24 ++- .../dto/payment/AlipayPaymentSetting.java | 20 ++- .../dto/payment/WechatPaymentSetting.java | 29 +++- .../dto/payment/dto/PaymentSupportForm.java | 8 +- .../InstantDeliveryPlugin.java | 3 +- .../InstantDelivery/dada/DadaPlugin.java | 8 +- .../dada/enums/DadaOrderStatusEnum.java | 6 +- .../system/entity/vo/StoreLogisticsVO.java | 2 +- .../lili/modules/system/entity/vo/Traces.java | 2 +- .../system/mapper/AppVersionMapper.java | 6 + .../system/mapper/StoreLogisticsMapper.java | 18 ++ .../system/service/AppVersionService.java | 3 + .../serviceimpl/AppVersionServiceImpl.java | 2 +- .../InstantDeliveryLogServiceImpl.java | 1 - .../InstantDeliveryServiceImpl.java | 4 +- .../serviceimpl/LogisticsServiceImpl.java | 26 ++- .../SensitiveWordsServiceImpl.java | 1 - .../serviceimpl/ServiceNoticeServiceImpl.java | 1 - .../serviceimpl/SettingServiceImpl.java | 1 - .../StoreLogisticsServiceImpl.java | 2 - .../lili/modules/system/utils/HttpUtils.java | 43 ++--- .../modules/system/utils/StringPointer.java | 8 +- .../passport/AdminUserManagerController.java | 5 +- .../settings/StoreMessageController.java | 2 +- 343 files changed, 2626 insertions(+), 1476 deletions(-) delete mode 100644 framework/src/main/java/cn/lili/common/utils/CheckMobileUtil.java delete mode 100644 framework/src/main/java/cn/lili/common/utils/PasswordUtil.java delete mode 100644 framework/src/main/java/cn/lili/modules/goods/mapper/GoodsParamsMapper.java rename framework/src/main/java/cn/lili/modules/payment/kit/plugin/{bankTransfer => bank}/BankTransferPlugin.java (94%) diff --git a/buyer-api/src/main/java/cn/lili/controller/member/MemberWithdrawApplyBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/member/MemberWithdrawApplyBuyerController.java index a78f8b8d..059485f5 100644 --- a/buyer-api/src/main/java/cn/lili/controller/member/MemberWithdrawApplyBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/member/MemberWithdrawApplyBuyerController.java @@ -38,8 +38,8 @@ public class MemberWithdrawApplyBuyerController { public ResultMessage> getByPage(PageVO page, MemberWithdrawApplyQueryVO memberWithdrawApplyQueryVO) { memberWithdrawApplyQueryVO.setMemberId(UserContext.getCurrentUser().getId()); //构建查询 返回数据 - IPage memberWithdrawApplyIPage = memberWithdrawApplyService.getMemberWithdrawPage(page, memberWithdrawApplyQueryVO); - return ResultUtil.data(memberWithdrawApplyIPage); + IPage memberWithdrawApplyPage = memberWithdrawApplyService.getMemberWithdrawPage(page, memberWithdrawApplyQueryVO); + return ResultUtil.data(memberWithdrawApplyPage); } } diff --git a/buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionBuyerController.java index b8c97954..edc3d3f0 100644 --- a/buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionBuyerController.java @@ -40,7 +40,6 @@ public class DistributionBuyerController { @Autowired private DistributionOrderService distributionOrderService; - //申请分销员 @ApiOperation(value = "申请分销员") @PostMapping public ResultMessage applyDistribution(DistributionApplyDTO distributionApplyDTO) { @@ -63,7 +62,6 @@ public class DistributionBuyerController { return ResultUtil.data(distributionService.getDistribution()); } - //申请分销员 @ApiOperation(value = "绑定分销员") @ApiImplicitParam(name = "distributionId", value = "分销员ID", required = true, paramType = "path") @GetMapping("/bindingDistribution/{distributionId}") diff --git a/common-api/src/main/java/cn/lili/controller/common/FileController.java b/common-api/src/main/java/cn/lili/controller/common/FileController.java index cc056c0d..20e33256 100644 --- a/common-api/src/main/java/cn/lili/controller/common/FileController.java +++ b/common-api/src/main/java/cn/lili/controller/common/FileController.java @@ -81,6 +81,7 @@ public class FileController { if (file.getUserEnums().equals(authUser.getRole().name())) { break; } + default: throw new ServiceException(ResultCode.USER_AUTHORITY_ERROR); } fileService.updateById(file); diff --git a/common-api/src/main/java/cn/lili/controller/common/SliderImageController.java b/common-api/src/main/java/cn/lili/controller/common/SliderImageController.java index ff8dbef5..b41d0ace 100644 --- a/common-api/src/main/java/cn/lili/controller/common/SliderImageController.java +++ b/common-api/src/main/java/cn/lili/controller/common/SliderImageController.java @@ -28,10 +28,9 @@ public class SliderImageController { @Autowired private VerificationService verificationService; - //一分钟同一个ip请求10次 @LimitPoint(name = "slider_image", key = "verification") @GetMapping("/{verificationEnums}") - @ApiOperation(value = "获取校验接口") + @ApiOperation(value = "获取校验接口,一分钟同一个ip请求10次") public ResultMessage getSliderImage(@RequestHeader String uuid, @PathVariable VerificationEnums verificationEnums) { try { return ResultUtil.data(verificationService.createVerification(verificationEnums, uuid)); diff --git a/common-api/src/main/java/cn/lili/controller/common/SmsController.java b/common-api/src/main/java/cn/lili/controller/common/SmsController.java index e69664a4..cfec27ab 100644 --- a/common-api/src/main/java/cn/lili/controller/common/SmsController.java +++ b/common-api/src/main/java/cn/lili/controller/common/SmsController.java @@ -31,14 +31,13 @@ public class SmsController { @Autowired private VerificationService verificationService; - //一分钟同一个ip请求1次 @LimitPoint(name = "sms_send", key = "sms") @ApiImplicitParams({ @ApiImplicitParam(paramType = "path", dataType = "String", name = "mobile", value = "手机号"), @ApiImplicitParam(paramType = "header", dataType = "String", name = "uuid", value = "uuid"), }) @GetMapping("/{verificationEnums}/{mobile}") - @ApiOperation(value = "发送短信验证码") + @ApiOperation(value = "发送短信验证码,一分钟同一个ip请求1次") public ResultMessage getSmsCode( @RequestHeader String uuid, @PathVariable String mobile, diff --git a/consumer/src/main/java/cn/lili/event/impl/DistributionOrderExecute.java b/consumer/src/main/java/cn/lili/event/impl/DistributionOrderExecute.java index fefac047..21fe71f1 100644 --- a/consumer/src/main/java/cn/lili/event/impl/DistributionOrderExecute.java +++ b/consumer/src/main/java/cn/lili/event/impl/DistributionOrderExecute.java @@ -12,6 +12,7 @@ import cn.lili.modules.order.order.entity.dto.OrderMessage; import cn.lili.modules.order.trade.entity.enums.AfterSaleStatusEnum; import cn.lili.timetask.handler.EveryDayExecute; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -23,13 +24,18 @@ import javax.annotation.Resource; * @author Chopper * @date 2020-07-03 11:20 */ +@Slf4j @Service public class DistributionOrderExecute implements OrderStatusChangeEvent, EveryDayExecute, AfterSaleStatusChangeEvent { - //分销订单 + /** + * 分销订单 + */ @Autowired private DistributionOrderService distributionOrderService; - //分销订单持久层 + /** + * 分销订单持久层 + */ @Resource private DistributionOrderMapper distributionOrderMapper; @@ -48,6 +54,9 @@ public class DistributionOrderExecute implements OrderStatusChangeEvent, EveryDa distributionOrderService.cancelOrder(orderMessage.getOrderSn()); break; } + default: + log.error("分销订单执行异常:", orderMessage.getOrderSn()); + break; } } diff --git a/consumer/src/main/java/cn/lili/event/impl/NoticeMessageExecute.java b/consumer/src/main/java/cn/lili/event/impl/NoticeMessageExecute.java index e3346136..29bbec5a 100644 --- a/consumer/src/main/java/cn/lili/event/impl/NoticeMessageExecute.java +++ b/consumer/src/main/java/cn/lili/event/impl/NoticeMessageExecute.java @@ -44,7 +44,7 @@ public class NoticeMessageExecute implements TradeEvent, OrderStatusChangeEvent, NoticeMessageDTO noticeMessageDTO = new NoticeMessageDTO(); noticeMessageDTO.setMemberId(tradeDTO.getMemberId()); noticeMessageDTO.setNoticeMessageNodeEnum(NoticeMessageNodeEnum.ORDER_CREATE_SUCCESS); - Map params = new HashMap<>(); + Map params = new HashMap<>(2); params.put("goods", tradeDTO.getSkuList().get(0).getGoodsSku().getGoodsName()); noticeMessageDTO.setParameter(params); //保存站内信 @@ -58,7 +58,7 @@ public class NoticeMessageExecute implements TradeEvent, OrderStatusChangeEvent, NoticeMessageDTO noticeMessageDTO = new NoticeMessageDTO(); //如果订单状态不为空 if (orderDetailVO != null) { - Map params = new HashMap<>(); + Map params = new HashMap<>(2); switch (orderMessage.getNewStatus()) { //如果订单新的状态为已取消 则发送取消订单站内信 case CANCELLED: @@ -103,7 +103,7 @@ public class NoticeMessageExecute implements TradeEvent, OrderStatusChangeEvent, public void afterSaleStatusChange(AfterSale afterSale) { NoticeMessageDTO noticeMessageDTO = new NoticeMessageDTO(); noticeMessageDTO.setMemberId(afterSale.getMemberId()); - Map params = new HashMap<>(); + Map params = new HashMap<>(2); params.put("goods", afterSale.getGoodsName()); params.put("refuse", afterSale.getAuditRemark()); noticeMessageDTO.setParameter(params); @@ -154,7 +154,7 @@ public class NoticeMessageExecute implements TradeEvent, OrderStatusChangeEvent, //组织站内信参数 NoticeMessageDTO noticeMessageDTO = new NoticeMessageDTO(); noticeMessageDTO.setMemberId(memberPointMessage.getMemberId()); - Map params = new HashMap<>(); + Map params = new HashMap<>(2); if (memberPointMessage.getType()) { params.put("expenditure_points", "0"); params.put("income_points", memberPointMessage.getPoint().toString()); @@ -178,7 +178,7 @@ public class NoticeMessageExecute implements TradeEvent, OrderStatusChangeEvent, //组织参数 NoticeMessageDTO noticeMessageDTO = new NoticeMessageDTO(); noticeMessageDTO.setMemberId(memberWithdrawalMessage.getMemberId()); - Map params = new HashMap<>(); + Map params = new HashMap<>(2); params.put("income", memberWithdrawalMessage.getPrice().toString()); noticeMessageDTO.setParameter(params); noticeMessageDTO.setNoticeMessageNodeEnum(NoticeMessageNodeEnum.WALLET_WITHDRAWAL_SUCCESS); diff --git a/consumer/src/main/java/cn/lili/event/impl/PaymentExecute.java b/consumer/src/main/java/cn/lili/event/impl/PaymentExecute.java index c51b180d..3c112ec3 100644 --- a/consumer/src/main/java/cn/lili/event/impl/PaymentExecute.java +++ b/consumer/src/main/java/cn/lili/event/impl/PaymentExecute.java @@ -10,6 +10,7 @@ import cn.lili.modules.order.order.service.OrderService; import cn.lili.modules.payment.entity.RefundLog; import cn.lili.modules.payment.kit.Payment; import cn.lili.modules.payment.kit.enums.PaymentMethodEnum; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -19,6 +20,7 @@ import org.springframework.stereotype.Service; * @author Chopper * @date 2021-03-13 16:58 */ +@Slf4j @Service public class PaymentExecute implements OrderStatusChangeEvent { @@ -64,6 +66,9 @@ public class PaymentExecute implements OrderStatusChangeEvent { break; case BANK_TRANSFER: break; + default: + log.error("订单支付执行异常,订单编号:", orderMessage.getOrderSn()); + break; } break; default: diff --git a/consumer/src/main/java/cn/lili/listener/AfterSaleMessageListener.java b/consumer/src/main/java/cn/lili/listener/AfterSaleMessageListener.java index 2db77d04..da5a5fa9 100644 --- a/consumer/src/main/java/cn/lili/listener/AfterSaleMessageListener.java +++ b/consumer/src/main/java/cn/lili/listener/AfterSaleMessageListener.java @@ -24,7 +24,9 @@ import java.util.List; @RocketMQMessageListener(topic = "${lili.data.rocketmq.after-sale-topic}", consumerGroup = "${lili.data.rocketmq.after-sale-group}") public class AfterSaleMessageListener implements RocketMQListener { - //售后订单状态 + /** + * 售后订单状态 + */ @Autowired private List afterSaleStatusChangeEvents; @@ -43,6 +45,8 @@ public class AfterSaleMessageListener implements RocketMQListener { e); } } + default: + log.error("售后状态修改事件执行异常:", new String(messageExt.getBody())); break; } diff --git a/consumer/src/main/java/cn/lili/listener/GoodsMessageListener.java b/consumer/src/main/java/cn/lili/listener/GoodsMessageListener.java index 16dd44dc..34302cbf 100644 --- a/consumer/src/main/java/cn/lili/listener/GoodsMessageListener.java +++ b/consumer/src/main/java/cn/lili/listener/GoodsMessageListener.java @@ -20,7 +20,6 @@ import cn.lili.modules.search.entity.dos.EsGoodsIndex; import cn.lili.modules.search.service.EsGoodsIndexService; import cn.lili.modules.store.service.StoreService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import lombok.extern.slf4j.Slf4j; import org.apache.rocketmq.common.message.MessageExt; @@ -123,6 +122,9 @@ public class GoodsMessageListener implements RocketMQListener { case BUY_GOODS_COMPLETE: this.goodsBuyComplete(messageExt); break; + default: + log.error("商品执行异常:", new String(messageExt.getBody())); + break; } } diff --git a/consumer/src/main/java/cn/lili/timetask/handler/impl/bill/BillExecute.java b/consumer/src/main/java/cn/lili/timetask/handler/impl/bill/BillExecute.java index 89b8bf35..c32087ba 100644 --- a/consumer/src/main/java/cn/lili/timetask/handler/impl/bill/BillExecute.java +++ b/consumer/src/main/java/cn/lili/timetask/handler/impl/bill/BillExecute.java @@ -21,10 +21,14 @@ import java.util.List; @Component public class BillExecute implements EveryDayExecute { - //结算单 + /** + * 结算单 + */ @Autowired private BillService billService; - //店铺详情 + /** + * 店铺详情 + */ @Resource private StoreDetailMapper storeDetailMapper; diff --git a/consumer/src/main/java/cn/lili/timetask/handler/impl/goods/GoodsExecute.java b/consumer/src/main/java/cn/lili/timetask/handler/impl/goods/GoodsExecute.java index f9d92ea6..04a3bbca 100644 --- a/consumer/src/main/java/cn/lili/timetask/handler/impl/goods/GoodsExecute.java +++ b/consumer/src/main/java/cn/lili/timetask/handler/impl/goods/GoodsExecute.java @@ -8,9 +8,9 @@ import cn.lili.modules.member.entity.dos.MemberEvaluation; import cn.lili.modules.member.mapper.MemberEvaluationMapper; import cn.lili.timetask.handler.EveryDayExecute; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import javax.annotation.Resource; import java.util.List; import java.util.Map; @@ -22,11 +22,15 @@ import java.util.Map; */ @Component public class GoodsExecute implements EveryDayExecute { - //会员评价 - @Autowired + /** + * 会员评价 + */ + @Resource private MemberEvaluationMapper memberEvaluationMapper; - //商品 - @Autowired + /** + * 商品 + */ + @Resource private GoodsMapper goodsMapper; /** diff --git a/consumer/src/main/java/cn/lili/timetask/handler/impl/order/CancelOrderTaskExecute.java b/consumer/src/main/java/cn/lili/timetask/handler/impl/order/CancelOrderTaskExecute.java index 1202c425..31c5e587 100644 --- a/consumer/src/main/java/cn/lili/timetask/handler/impl/order/CancelOrderTaskExecute.java +++ b/consumer/src/main/java/cn/lili/timetask/handler/impl/order/CancelOrderTaskExecute.java @@ -12,7 +12,6 @@ import cn.lili.modules.system.entity.enums.SettingEnum; import cn.lili.modules.system.service.SettingService; import cn.lili.timetask.handler.EveryMinuteExecute; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -28,12 +27,15 @@ import java.util.stream.Collectors; **/ @Slf4j @Component - public class CancelOrderTaskExecute implements EveryMinuteExecute { - //订单 + /** + * 订单 + */ @Autowired private OrderService orderService; - //设置 + /** + * 设置 + */ @Autowired private SettingService settingService; diff --git a/consumer/src/main/java/cn/lili/timetask/handler/impl/storeRating/StoreRatingExecute.java b/consumer/src/main/java/cn/lili/timetask/handler/impl/storeRating/StoreRatingExecute.java index d6bfc93b..3e8d03c3 100644 --- a/consumer/src/main/java/cn/lili/timetask/handler/impl/storeRating/StoreRatingExecute.java +++ b/consumer/src/main/java/cn/lili/timetask/handler/impl/storeRating/StoreRatingExecute.java @@ -11,10 +11,10 @@ import cn.lili.timetask.handler.EveryDayExecute; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import javax.annotation.Resource; import java.util.List; /** @@ -29,7 +29,7 @@ public class StoreRatingExecute implements EveryDayExecute { @Autowired private StoreService storeService; //会员评价 - @Autowired + @Resource private MemberEvaluationMapper memberEvaluationMapper; @@ -39,10 +39,10 @@ public class StoreRatingExecute implements EveryDayExecute { List storeList = storeService.list(new LambdaQueryWrapper().eq(Store::getStoreDisable, StoreStatusEnum.OPEN.name())); for (Store store : storeList) { //店铺所有开启的评价 - LambdaQueryWrapper QueryWrapper = Wrappers.lambdaQuery(); - QueryWrapper.eq(MemberEvaluation::getStoreId, store.getId()); - QueryWrapper.eq(MemberEvaluation::getStatus, SwitchEnum.OPEN.name()); - StoreRatingVO storeRatingVO = memberEvaluationMapper.getStoreRatingVO(QueryWrapper); + LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery(); + lambdaQueryWrapper.eq(MemberEvaluation::getStoreId, store.getId()); + lambdaQueryWrapper.eq(MemberEvaluation::getStatus, SwitchEnum.OPEN.name()); + StoreRatingVO storeRatingVO = memberEvaluationMapper.getStoreRatingVO(lambdaQueryWrapper); if (storeRatingVO != null) { //保存评分 diff --git a/consumer/src/main/java/cn/lili/trigger/AbstractDelayQueueListen.java b/consumer/src/main/java/cn/lili/trigger/AbstractDelayQueueListen.java index d76fcdaa..9ddf2435 100644 --- a/consumer/src/main/java/cn/lili/trigger/AbstractDelayQueueListen.java +++ b/consumer/src/main/java/cn/lili/trigger/AbstractDelayQueueListen.java @@ -79,6 +79,7 @@ public abstract class AbstractDelayQueueListen { /** * 要实现延时队列的名字 + * @return 促销延时队列名称 */ public abstract String setDelayQueueName(); @@ -88,7 +89,7 @@ public abstract class AbstractDelayQueueListen { */ @PostConstruct public void init() { - new Thread(this::startDelayQueueMachine).start(); + ThreadPoolUtil.getPool().execute(this::startDelayQueueMachine); } } diff --git a/framework/src/main/java/cn/lili/common/aop/limiter/LimitInterceptor.java b/framework/src/main/java/cn/lili/common/aop/limiter/LimitInterceptor.java index 2e625ef9..f6e5397d 100644 --- a/framework/src/main/java/cn/lili/common/aop/limiter/LimitInterceptor.java +++ b/framework/src/main/java/cn/lili/common/aop/limiter/LimitInterceptor.java @@ -75,10 +75,15 @@ public class LimitInterceptor { } - //默认unknown常量值 + /** + * 默认unknown常量值 + */ private static final String UNKNOWN = "unknown"; - //获取ip + /** + * 获取ip + * @return ip + */ public String getIpAddress() { HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); String ip = request.getHeader("x-forwarded-for"); diff --git a/framework/src/main/java/cn/lili/common/aop/syslog/interceptor/SystemLogAspect.java b/framework/src/main/java/cn/lili/common/aop/syslog/interceptor/SystemLogAspect.java index ea814963..cf0b6d3e 100644 --- a/framework/src/main/java/cn/lili/common/aop/syslog/interceptor/SystemLogAspect.java +++ b/framework/src/main/java/cn/lili/common/aop/syslog/interceptor/SystemLogAspect.java @@ -39,7 +39,7 @@ public class SystemLogAspect { /** * 启动线程异步记录日志 */ - private static final ThreadLocal beginTimeThreadLocal = new NamedThreadLocal<>("SYSTEM-LOG"); + private static final ThreadLocal BEGIN_TIME_THREAD_LOCAL = new NamedThreadLocal<>("SYSTEM-LOG"); @Autowired private SystemLogService systemLogService; @@ -61,7 +61,7 @@ public class SystemLogAspect { */ @Before("controllerAspect()") public void doBefore() { - beginTimeThreadLocal.set(new Date()); + BEGIN_TIME_THREAD_LOCAL.set(new Date()); } @@ -110,7 +110,7 @@ public class SystemLogAspect { //写入自定义日志内容 systemLogVO.setCustomerLog(customerLog); //请求开始时间 - long beginTime = beginTimeThreadLocal.get().getTime(); + long beginTime = BEGIN_TIME_THREAD_LOCAL.get().getTime(); long endTime = System.currentTimeMillis(); //请求耗时 Long usedTime = endTime - beginTime; @@ -157,7 +157,7 @@ public class SystemLogAspect { */ private static Map spelFormat(JoinPoint joinPoint, Object rvt) { - Map result = new HashMap<>(); + Map result = new HashMap<>(2); MethodSignature signature = (MethodSignature) joinPoint.getSignature(); SystemLogPoint systemLogPoint = signature.getMethod().getAnnotation(SystemLogPoint.class); String description = systemLogPoint.description(); 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 e2c86a7c..25d919ce 100644 --- a/framework/src/main/java/cn/lili/common/cache/Cache.java +++ b/framework/src/main/java/cn/lili/common/cache/Cache.java @@ -164,6 +164,7 @@ public interface Cache { * 如需清零,按照普通key 移除即可 * * @param key + * @param value * @return */ Long cumulative(Object key, Object value); diff --git a/framework/src/main/java/cn/lili/common/cache/CachePrefix.java b/framework/src/main/java/cn/lili/common/cache/CachePrefix.java index e2734e35..925766b1 100644 --- a/framework/src/main/java/cn/lili/common/cache/CachePrefix.java +++ b/framework/src/main/java/cn/lili/common/cache/CachePrefix.java @@ -454,25 +454,39 @@ public enum CachePrefix { /** * 店铺分类 */ - STORE_CATEGORY - ; + STORE_CATEGORY; public static String removePrefix(String str) { return str.substring(str.lastIndexOf("}_") + 2); } - //通用获取缓存key值 + /** + * 通用获取缓存key值 + * + * @return 缓存key值 + */ public String getPrefix() { return "{" + this.name() + "}_"; } - //通用获取缓存key值 + /** + * 通用获取缓存key值 + * + * @param typeEnum 促销枚举 + * @return 缓存key值 + */ public String getPrefix(PromotionTypeEnum typeEnum) { return "{" + this.name() + "_" + typeEnum.name() + "}_"; } - //获取缓存key值 + 用户端,例如:三端都有用户体系,需要分别登录,如果用户名一致,则redis中的权限可能会冲突出错 + /** + * 获取缓存key值 + 用户端 + * 例如:三端都有用户体系,需要分别登录,如果用户名一致,则redis中的权限可能会冲突出错 + * + * @param user 角色 + * @return 缓存key值 + 用户端 + */ public String getPrefix(UserEnums user) { return "{" + this.name() + "_" + user.name() + "}_"; } 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 85ca4838..ef331665 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 @@ -160,7 +160,7 @@ public class RedisCache implements Cache { return null; } catch (IOException e) { - log.error("scan错误",e); + log.error("scan错误", e); throw new RuntimeException(e); } }); @@ -206,8 +206,8 @@ public class RedisCache implements Cache { public Long incr(String key, long liveTime) { RedisAtomicLong entityIdCounter = new RedisAtomicLong(key, redisTemplate.getConnectionFactory()); Long increment = entityIdCounter.getAndIncrement(); - - if ((null == increment || increment.longValue() == 0) && liveTime > 0) {//初始设置过期时间 + //初始设置过期时间 + if ((null == increment || increment.longValue() == 0) && liveTime > 0) { entityIdCounter.expire(liveTime, TimeUnit.SECONDS); } @@ -254,8 +254,7 @@ public class RedisCache implements Cache { */ @Override public boolean zAdd(String key, long score, String value) { - Boolean result = redisTemplate.opsForZSet().add(key, value, score); - return result; + return redisTemplate.opsForZSet().add(key, value, score); } diff --git a/framework/src/main/java/cn/lili/common/elasticsearch/BaseElasticsearchService.java b/framework/src/main/java/cn/lili/common/elasticsearch/BaseElasticsearchService.java index b5cbfe4e..a133da67 100644 --- a/framework/src/main/java/cn/lili/common/elasticsearch/BaseElasticsearchService.java +++ b/framework/src/main/java/cn/lili/common/elasticsearch/BaseElasticsearchService.java @@ -308,13 +308,6 @@ public abstract class BaseElasticsearchService { PutMappingRequest request = new PutMappingRequest(index) .source(source, XContentType.JSON); -// AcknowledgedResponse putMappingResponse = client.indices().putMapping(request, -// RequestOptions.DEFAULT); -// -// boolean acknowledged = putMappingResponse.isAcknowledged(); -// if (acknowledged) { -// log.error("Succeed to put mapping"); -// } CountDownLatch latch = new CountDownLatch(1); AtomicReference response = new AtomicReference(); client.indices().putMappingAsync( 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 0cab3e56..166d7064 100644 --- a/framework/src/main/java/cn/lili/common/enums/ResultCode.java +++ b/framework/src/main/java/cn/lili/common/enums/ResultCode.java @@ -36,6 +36,7 @@ public enum ResultCode { VERIFICATION_EXIST(1002, "验证码服务异常"), LIMIT_ERROR(1003,"访问过于频繁,请稍后再试"), ILLEGAL_REQUEST_ERROR(1004, "非法请求,请重新刷新页面操作"), + IMAGE_FILE_EXT_ERROR(1005, "不支持图片格式"), /** * 分类 */ diff --git a/framework/src/main/java/cn/lili/common/enums/ResultUtil.java b/framework/src/main/java/cn/lili/common/enums/ResultUtil.java index 10f70a77..b4883e5a 100644 --- a/framework/src/main/java/cn/lili/common/enums/ResultUtil.java +++ b/framework/src/main/java/cn/lili/common/enums/ResultUtil.java @@ -56,7 +56,12 @@ public class ResultUtil { } - //抽象静态方法,返回结果集 + /** + * 抽象静态方法,返回结果集 + * @param t + * @param + * @return + */ public static ResultMessage data(T t) { return new ResultUtil().setData(t); } diff --git a/framework/src/main/java/cn/lili/common/exception/ServiceException.java b/framework/src/main/java/cn/lili/common/exception/ServiceException.java index 4f652afd..20e856f0 100644 --- a/framework/src/main/java/cn/lili/common/exception/ServiceException.java +++ b/framework/src/main/java/cn/lili/common/exception/ServiceException.java @@ -13,10 +13,14 @@ public class ServiceException extends RuntimeException { public static String DEFAULT_MESSAGE = "网络错误,请稍后重试!"; - //异常消息 + /** + * 异常消息 + */ private String msg = DEFAULT_MESSAGE; - //错误码 + /** + * 错误码 + */ private ResultCode resultCode; public ServiceException(String msg) { diff --git a/framework/src/main/java/cn/lili/common/rocketmq/tags/AfterSaleTagsEnum.java b/framework/src/main/java/cn/lili/common/rocketmq/tags/AfterSaleTagsEnum.java index 98322812..b668ee79 100644 --- a/framework/src/main/java/cn/lili/common/rocketmq/tags/AfterSaleTagsEnum.java +++ b/framework/src/main/java/cn/lili/common/rocketmq/tags/AfterSaleTagsEnum.java @@ -1,12 +1,20 @@ package cn.lili.common.rocketmq.tags; /** + * 售后标签枚举 + * * @author paulG * @since 2020/12/9 **/ public enum AfterSaleTagsEnum { + /** + * "售后退款" + */ REFUND("售后退款"), + /** + * "售后单状态改变" + */ AFTER_SALE_STATUS_CHANGE("售后单状态改变"); private final String description; diff --git a/framework/src/main/java/cn/lili/common/rocketmq/tags/GoodsTagsEnum.java b/framework/src/main/java/cn/lili/common/rocketmq/tags/GoodsTagsEnum.java index 0a7f3a39..f4dbd25b 100644 --- a/framework/src/main/java/cn/lili/common/rocketmq/tags/GoodsTagsEnum.java +++ b/framework/src/main/java/cn/lili/common/rocketmq/tags/GoodsTagsEnum.java @@ -6,13 +6,37 @@ package cn.lili.common.rocketmq.tags; **/ public enum GoodsTagsEnum { + /** + * "生成商品索引" + */ GENERATOR_GOODS_INDEX("生成商品索引"), + /** + * "删除商品" + */ GOODS_DELETE("删除商品"), + /** + * "审核商品" + */ GOODS_AUDIT("审核商品"), + /** + * "收藏商品" + */ GOODS_COLLECTION("收藏商品"), + /** + * "购买商品完成" + */ BUY_GOODS_COMPLETE("购买商品完成"), + /** + * "删除商品SKU" + */ SKU_DELETE("删除商品SKU"), + /** + * "查看商品" + */ VIEW_GOODS("查看商品"), + /** + * "商品评价" + */ GOODS_COMMENT_COMPLETE("商品评价"); private final String description; diff --git a/framework/src/main/java/cn/lili/common/rocketmq/tags/MemberTagsEnum.java b/framework/src/main/java/cn/lili/common/rocketmq/tags/MemberTagsEnum.java index 1b26b23b..88fb01fe 100644 --- a/framework/src/main/java/cn/lili/common/rocketmq/tags/MemberTagsEnum.java +++ b/framework/src/main/java/cn/lili/common/rocketmq/tags/MemberTagsEnum.java @@ -1,14 +1,27 @@ package cn.lili.common.rocketmq.tags; /** + * 会员操作枚举 + * * @author paulG * @since 2020/12/9 **/ public enum MemberTagsEnum { - + /** + * 会员注册 + */ MEMBER_REGISTER("会员注册"), + /** + * 会员签到 + */ MEMBER_SING("会员签到"), + /** + * 会员提现 + */ MEMBER_WITHDRAWAL("会员提现"), + /** + * 会员积分变动 + */ MEMBER_POINT_CHANGE("会员积分变动"); private final String description; diff --git a/framework/src/main/java/cn/lili/common/rocketmq/tags/MqOrderTagsEnum.java b/framework/src/main/java/cn/lili/common/rocketmq/tags/MqOrderTagsEnum.java index baf6bdf6..fde73145 100644 --- a/framework/src/main/java/cn/lili/common/rocketmq/tags/MqOrderTagsEnum.java +++ b/framework/src/main/java/cn/lili/common/rocketmq/tags/MqOrderTagsEnum.java @@ -1,18 +1,23 @@ package cn.lili.common.rocketmq.tags; /** + * 订单操作枚举 + * * @author paulG * @since 2020/12/9 **/ public enum MqOrderTagsEnum { - + /** + * 订单创建 + */ ORDER_CREATE("订单创建"), + /** + * 订单状态改变 + */ STATUS_CHANGE("订单状态改变"); - - private final String description; MqOrderTagsEnum(String description) { diff --git a/framework/src/main/java/cn/lili/common/rocketmq/tags/OtherTagsEnum.java b/framework/src/main/java/cn/lili/common/rocketmq/tags/OtherTagsEnum.java index 91e9dcf3..6117c636 100644 --- a/framework/src/main/java/cn/lili/common/rocketmq/tags/OtherTagsEnum.java +++ b/framework/src/main/java/cn/lili/common/rocketmq/tags/OtherTagsEnum.java @@ -1,12 +1,19 @@ package cn.lili.common.rocketmq.tags; /** + * 其他操作枚举 + * * @author paulG * @since 2020/12/9 **/ public enum OtherTagsEnum { - + /** + * 站内消息提醒 + */ MESSAGE("站内消息提醒"), + /** + * 短信消息提醒 + */ SMS("短信消息提醒"); private final String description; diff --git a/framework/src/main/java/cn/lili/common/security/context/UserContext.java b/framework/src/main/java/cn/lili/common/security/context/UserContext.java index f3c072ee..d88e5c2c 100644 --- a/framework/src/main/java/cn/lili/common/security/context/UserContext.java +++ b/framework/src/main/java/cn/lili/common/security/context/UserContext.java @@ -9,6 +9,10 @@ import cn.lili.common.token.SecretKeyUtil; import com.google.gson.Gson; import io.jsonwebtoken.Claims; import io.jsonwebtoken.Jwts; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; /** * 用户上下文 @@ -20,15 +24,16 @@ import io.jsonwebtoken.Jwts; */ public class UserContext { - private static AuthenticationHandler authenticationHandler; + private static RequestContextHolder requestContextHolder; - public static void setHolder(AuthenticationHandler authenticationHandler) { - UserContext.authenticationHandler = authenticationHandler; + public static void setRequestContextHolder(RequestContextHolder requestContextHolder) { + UserContext.requestContextHolder = requestContextHolder; } - public static AuthUser getCurrentUser() { - return authenticationHandler.getAuthUser(); + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String accessToken = request.getHeader("accessToken"); + return getAuthUser(accessToken); } @@ -44,6 +49,18 @@ public class UserContext { if (cache.keys("*" + accessToken).size() == 0) { throw new ServiceException(ResultCode.USER_AUTHORITY_ERROR); } + return getAuthUser(accessToken); + } catch (Exception e) { + return null; + } + } + /** + * 根据jwt获取token重的用户信息 + * @param accessToken token + * @return + */ + public static AuthUser getAuthUser(String accessToken) { + try { //获取token的信息 Claims claims = Jwts.parser() diff --git a/framework/src/main/java/cn/lili/common/security/context/UserContextInit.java b/framework/src/main/java/cn/lili/common/security/context/UserContextInit.java index a214eb60..f6dbaa1d 100644 --- a/framework/src/main/java/cn/lili/common/security/context/UserContextInit.java +++ b/framework/src/main/java/cn/lili/common/security/context/UserContextInit.java @@ -31,6 +31,6 @@ public class UserContextInit implements ApplicationRunner { */ @Override public void run(ApplicationArguments args) { - UserContext.setHolder(authenticationHandler); + //UserContext.setHolder(authenticationHandler); } } 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 cdc533e4..ce6fbca2 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 @@ -15,6 +15,10 @@ import java.util.regex.Pattern; public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper { private HttpServletRequest request; + + + + public XssHttpServletRequestWrapper(HttpServletRequest request) { super(request); this.request = request; @@ -90,46 +94,38 @@ public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper { return value; } + + private static final Pattern SCRIPT_PATTERN1 = Pattern.compile("", Pattern.CASE_INSENSITIVE); + private static final Pattern SCRIPT_PATTERN2 = Pattern.compile("", Pattern.CASE_INSENSITIVE); + private static final Pattern SCRIPT_PATTERN3 = Pattern.compile("", Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL); + private static final Pattern SCRIPT_PATTERN4 = Pattern.compile("javascript:", Pattern.CASE_INSENSITIVE); + private static final Pattern SRC_PATTERN = Pattern.compile("src[\r\n]*=[\r\n]*\\\'(.*?)\\\'", Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL); + private static final Pattern EVAL_PATTERN = Pattern.compile("eval\\((.*?)\\)", Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL); + private static final Pattern E_­_XPRESSION_PATTERN = Pattern.compile("e­xpression\\((.*?)\\)", Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL); + private static final Pattern VB_SCRIPT_PATTERN = Pattern.compile("vbscript:", Pattern.CASE_INSENSITIVE); + private static final Pattern ONLOAD_PATTERN = Pattern.compile("onload(.*?)=", Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL); + private String cleanXSS(String value) { if (value != null) { //推荐使用ESAPI库来避免脚本攻击,value = ESAPI.encoder().canonicalize(value); -// //避免空字符串 -// value = value.replaceAll(" ", ""); //避免script 标签 - Pattern scriptPattern = Pattern.compile("", Pattern.CASE_INSENSITIVE); - value = scriptPattern.matcher(value).replaceAll(""); - //避免src形式的表达式 - scriptPattern = Pattern.compile("src[\r\n]*=[\r\n]*\\\'(.*?)\\\'", - Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL); - value = scriptPattern.matcher(value).replaceAll(""); - scriptPattern = Pattern.compile("src[\r\n]*=[\r\n]*\\\"(.*?)\\\"", - Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL); - value = scriptPattern.matcher(value).replaceAll(""); + value = SCRIPT_PATTERN1.matcher(value).replaceAll(""); //删除单个的 标签 - scriptPattern = Pattern.compile("", Pattern.CASE_INSENSITIVE); - value = scriptPattern.matcher(value).replaceAll(""); + value = SCRIPT_PATTERN2.matcher(value).replaceAll(""); //删除单个的