From c917f01d83969ed0f1e3da7dec0b8a308b69d1a0 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sat, 7 Oct 2023 22:47:45 +0800 Subject: [PATCH] =?UTF-8?q?promotion=EF=BC=9Acode=20review=20=E6=8B=BC?= =?UTF-8?q?=E5=9B=A2=E7=9B=B8=E5=85=B3=E7=9A=84=E9=83=A8=E5=88=86=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/activity/AppActivityController.java | 15 +++++++++------ .../combination/CombinationRecordDO.java | 2 ++ .../dal/mysql/bargain/BargainActivityMapper.java | 1 + .../combination/CombinationActivityMapper.java | 1 + .../combination/CombinationRecordMapper.java | 4 ++-- .../seckillactivity/SeckillActivityMapper.java | 1 + .../combination/CombinationRecordServiceImpl.java | 2 ++ .../enums/order/TradeOrderOperateTypeEnum.java | 2 +- .../order/TradeOrderUpdateServiceImpl.java | 7 +++---- 9 files changed, 22 insertions(+), 13 deletions(-) diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/activity/AppActivityController.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/activity/AppActivityController.java index 5ccc2983e..f467923a7 100644 --- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/activity/AppActivityController.java +++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/activity/AppActivityController.java @@ -52,11 +52,11 @@ public class AppActivityController { @Operation(summary = "获得多个商品,近期参与的每个活动") // 每种活动,只返回一个;key 为 SPU 编号 @Parameter(name = "spuIds", description = "商品编号数组", required = true) public CommonResult>> getActivityListBySpuIds(@RequestParam("spuIds") List spuIds) { - if (CollUtil.isEmpty(spuIds)) { return success(MapUtil.empty()); } + // TODO @puhui999:要避免这种 1+n 的查询 Map> map = new HashMap<>(spuIds.size()); spuIds.forEach(spuId -> { map.put(spuId, getAppActivityRespVOList(spuId)); @@ -65,35 +65,38 @@ public class AppActivityController { } private List getAppActivityRespVOList(Long spuId) { - List respList = new ArrayList<>(); + List activityList = new ArrayList<>(); + // 拼团活动 CombinationActivityDO combination = combinationActivityService.getCombinationActivityBySpuId(spuId); if (combination != null) { - respList.add(new AppActivityRespVO() + activityList.add(new AppActivityRespVO() .setId(combination.getId()) .setType(PromotionTypeEnum.COMBINATION_ACTIVITY.getType()) .setName(combination.getName()) .setStartTime(combination.getStartTime()) .setEndTime(combination.getEndTime())); } + // 秒杀活动 SeckillActivityDO seckill = seckillActivityService.getSeckillActivityBySpuId(spuId); if (seckill != null) { - respList.add(new AppActivityRespVO() + activityList.add(new AppActivityRespVO() .setId(seckill.getId()) .setType(PromotionTypeEnum.SECKILL_ACTIVITY.getType()) .setName(seckill.getName()) .setStartTime(seckill.getStartTime()) .setEndTime(seckill.getEndTime())); } + // 秒杀活动 BargainActivityDO bargain = bargainActivityService.getBargainActivityBySpuId(spuId); if (bargain != null) { - respList.add(new AppActivityRespVO() + activityList.add(new AppActivityRespVO() .setId(bargain.getId()) .setType(PromotionTypeEnum.BARGAIN_ACTIVITY.getType()) .setName(bargain.getName()) .setStartTime(bargain.getStartTime()) .setEndTime(bargain.getEndTime())); } - return respList; + return activityList; } } diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/dataobject/combination/CombinationRecordDO.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/dataobject/combination/CombinationRecordDO.java index 07d40d1e5..65b797df4 100644 --- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/dataobject/combination/CombinationRecordDO.java +++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/dataobject/combination/CombinationRecordDO.java @@ -76,6 +76,8 @@ public class CombinationRecordDO extends BaseDO { * 用户编号 */ private Long userId; + + // TODO @puhui999:要不去掉这 2 个字段,通过读取解决?如果去掉,相关接口都要处理下哈; /** * 用户昵称 */ diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/bargain/BargainActivityMapper.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/bargain/BargainActivityMapper.java index 7c5cfbfd8..7a566c961 100644 --- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/bargain/BargainActivityMapper.java +++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/bargain/BargainActivityMapper.java @@ -83,6 +83,7 @@ public interface BargainActivityMapper extends BaseMapperX { .last("LIMIT " + count)); } + // TODO @puhui999:需要开启状态;另外,是不是可以 limit1,不用 throwEx = false 处理呀?另外,时间要满足噢 default BargainActivityDO selectOne(Long spuId) { return selectOne(new LambdaQueryWrapperX() .eq(BargainActivityDO::getSpuId, spuId) diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/combination/CombinationActivityMapper.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/combination/CombinationActivityMapper.java index 3f5e9ec23..5334b8c8e 100644 --- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/combination/CombinationActivityMapper.java +++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/combination/CombinationActivityMapper.java @@ -40,6 +40,7 @@ public interface CombinationActivityMapper extends BaseMapperX() .eq(CombinationActivityDO::getSpuId, spuId) diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/combination/CombinationRecordMapper.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/combination/CombinationRecordMapper.java index f6b6cf59f..db73cbf10 100644 --- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/combination/CombinationRecordMapper.java +++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/combination/CombinationRecordMapper.java @@ -84,8 +84,8 @@ public interface CombinationRecordMapper extends BaseMapperX selectListByActivityIdAndStatusAndHeadId(Long activityId, Integer status, Long headId, Integer count) { return selectList(new LambdaQueryWrapperX() - .eq(CombinationRecordDO::getActivityId, activityId) - .eq(CombinationRecordDO::getStatus, status) + .eqIfPresent(CombinationRecordDO::getActivityId, activityId) + .eqIfPresent(CombinationRecordDO::getStatus, status) .eq(CombinationRecordDO::getHeadId, headId) .orderByDesc(CombinationRecordDO::getId) .last("LIMIT " + count)); diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/seckill/seckillactivity/SeckillActivityMapper.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/seckill/seckillactivity/SeckillActivityMapper.java index 1c31e74d9..32938ae67 100644 --- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/seckill/seckillactivity/SeckillActivityMapper.java +++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/seckill/seckillactivity/SeckillActivityMapper.java @@ -56,6 +56,7 @@ public interface SeckillActivityMapper extends BaseMapperX { .apply(ObjectUtil.isNotNull(pageReqVO.getConfigId()), "FIND_IN_SET(" + pageReqVO.getConfigId() + ",config_ids) > 0")); } + // TODO @puhui999:需要开启状态;另外,是不是可以 limit1,不用 throwEx = false 处理呀?另外,时间要满足噢; default SeckillActivityDO selectOne(Long spuId) { return selectOne(new LambdaQueryWrapperX() .eq(SeckillActivityDO::getSpuId, spuId) diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationRecordServiceImpl.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationRecordServiceImpl.java index 140c8ae9f..9244c3e3e 100644 --- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationRecordServiceImpl.java +++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationRecordServiceImpl.java @@ -67,6 +67,7 @@ public class CombinationRecordServiceImpl implements CombinationRecordService { @Resource private TradeOrderApi tradeOrderApi; + // TODO @芋艿:在详细预览下; @Override @Transactional(rollbackFor = Exception.class) public void updateCombinationRecordStatusByUserIdAndOrderId(Integer status, Long userId, Long orderId) { @@ -78,6 +79,7 @@ public class CombinationRecordServiceImpl implements CombinationRecordService { recordMapper.updateById(record); } + // TODO @芋艿:在详细预览下; @Override @Transactional(rollbackFor = Exception.class) public void updateRecordStatusAndStartTimeByUserIdAndOrderId(Integer status, Long userId, Long orderId, LocalDateTime startTime) { diff --git a/yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/order/TradeOrderOperateTypeEnum.java b/yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/order/TradeOrderOperateTypeEnum.java index bc2287572..c4c7974aa 100644 --- a/yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/order/TradeOrderOperateTypeEnum.java +++ b/yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/order/TradeOrderOperateTypeEnum.java @@ -16,7 +16,7 @@ public enum TradeOrderOperateTypeEnum { MEMBER_CREATE(1, "用户下单"), ADMIN_UPDATE_PRICE(2, "订单价格 {oldPayPrice} 修改,实际支付金额为 {newPayPrice} 元"), MEMBER_PAY(10, "用户付款成功"), - SYSTEM_UP_ADDRESS(11, "订单 {orderId} 收货地址修改"), + ADMIN_UPDATE_ADDRESS(11, "收货地址修改"), ADMIN_DELIVERY(20, "已发货,快递公司:{deliveryName},快递单号:{logisticsNo}"), MEMBER_RECEIVE(30, "用户已收货"), SYSTEM_RECEIVE(31, "到期未收货,系统自动确认收货"), diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderUpdateServiceImpl.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderUpdateServiceImpl.java index df6767a05..6320b0dcc 100644 --- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderUpdateServiceImpl.java +++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderUpdateServiceImpl.java @@ -738,19 +738,18 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService { } @Override - @TradeOrderLog(operateType = TradeOrderOperateTypeEnum.SYSTEM_UP_ADDRESS) + @TradeOrderLog(operateType = TradeOrderOperateTypeEnum.ADMIN_UPDATE_ADDRESS) public void updateOrderAddress(TradeOrderUpdateAddressReqVO reqVO) { // 校验交易订单 TradeOrderDO order = validateOrderExists(reqVO.getId()); // TODO @puhui999:是否需要校验订单是否发货 - // TODO 发货后是否支持修改收货地址 + // TODO 发货后是否支持修改收货地址;回答:发货后,不允许修改; // 更新 tradeOrderMapper.updateById(TradeOrderConvert.INSTANCE.convert(reqVO)); // 记录订单日志 - TradeOrderLogUtils.setOrderInfo(order.getId(), order.getStatus(), order.getStatus(), - MapUtil.builder().put("orderId", order.getId()).build()); + TradeOrderLogUtils.setOrderInfo(order.getId(), order.getStatus(), order.getStatus()); } @Override