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(""); //删除单个的