Quellcode durchsuchen

【代码评审】商城:满减送订单

YunaiV vor 6 Monaten
Ursprung
Commit
88cc4c987b

+ 5 - 2
yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/coupon/CouponApi.java

@@ -36,20 +36,23 @@ public interface CouponApi {
      */
     CouponRespDTO validateCoupon(@Valid CouponValidReqDTO validReqDTO);
 
+    // TODO @puhui999:可能需要根据 TradeOrderDO 的建议,进行修改;需要返回优惠劵编号
     /**
      * 【管理员】给指定用户批量发送优惠券
      *
      * @param giveCouponsMap  key: 优惠劵编号,value:对应的优惠券数量
      * @param userId      用户编号
      */
+    // TODO @puhui999:giveCouponsMap 可能改成 giveCoupons 更合适?优惠劵模版编号、数量
     void takeCouponsByAdmin(Map<Long, Integer> giveCouponsMap, Long userId);
 
+    // TODO @puhui999:可能需要根据 TradeOrderDO 的建议,进行修改 giveCouponsMap 参数
     /**
-     * 【管理员】收回给指定用户批量发送优惠券
+     * 【管理员】作废指定用户的指定优惠劵
      *
      * @param giveCouponsMap key: 优惠劵编号,value:对应的优惠券数量
      * @param userId         用户编号
      */
-    void takeBackCouponsByAdmin(Map<Long, Integer> giveCouponsMap, Long userId);
+    void invalidateCouponsByAdmin(Map<Long, Integer> giveCouponsMap, Long userId);
 
 }

+ 4 - 1
yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/reward/dto/RewardActivityMatchRespDTO.java

@@ -86,6 +86,7 @@ public class RewardActivityMatchRespDTO {
          * 是否包邮
          */
         private Boolean freeDelivery;
+        // TODO @puhui999:建议不返回 + 去掉 givePoint、giveCoupon 字段哈。
         /**
          * 是否赠送积分
          */
@@ -98,10 +99,12 @@ public class RewardActivityMatchRespDTO {
          * 是否赠送优惠券
          */
         private Boolean giveCoupon;
+        // TODO @puhui999:giveCoupons 即可
         /**
          * 赠送的优惠劵
          *
-         *  key: 优惠劵编号,value:对应的优惠券数量
+         * key: 优惠劵模版编号
+         * value:对应的优惠券数量
          */
         private Map<Long, Integer> giveCouponsMap;
 

+ 1 - 0
yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/enums/coupon/CouponStatusEnum.java

@@ -18,6 +18,7 @@ public enum CouponStatusEnum implements IntArrayValuable {
     UNUSED(1, "未使用"),
     USED(2, "已使用"),
     EXPIRE(3, "已过期"),
+    // TODO @puhui999:捉摸了下,貌似搞成逻辑删除好了?不然好多地方的 status 都要做一些变动。可能未来加个 invalidateType 来标识,是管理后台删除,还是取消回收。或者优惠劵的 change log 可能更好。
     INVALID(4, "已作废");
 
     public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(CouponStatusEnum::getStatus).toArray();

+ 2 - 2
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/api/coupon/CouponApiImpl.java

@@ -48,8 +48,8 @@ public class CouponApiImpl implements CouponApi {
     }
 
     @Override
-    public void takeBackCouponsByAdmin(Map<Long, Integer> giveCouponsMap, Long userId) {
-        couponService.takeBackCouponsByAdmin(giveCouponsMap, userId);
+    public void invalidateCouponsByAdmin(Map<Long, Integer> giveCouponsMap, Long userId) {
+        couponService.invalidateCouponsByAdmin(giveCouponsMap, userId);
     }
 
 }

+ 1 - 1
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponService.java

@@ -119,7 +119,7 @@ public interface CouponService {
      * @param giveCouponsMap key: 优惠劵编号,value:对应的优惠券数量
      * @param userId         用户编号
      */
-    void takeBackCouponsByAdmin(Map<Long, Integer> giveCouponsMap, Long userId);
+    void invalidateCouponsByAdmin(Map<Long, Integer> giveCouponsMap, Long userId);
 
     /**
      * 【会员】领取优惠券

+ 1 - 1
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponServiceImpl.java

@@ -198,7 +198,7 @@ public class CouponServiceImpl implements CouponService {
     }
 
     @Override
-    public void takeBackCouponsByAdmin(Map<Long, Integer> giveCouponsMap, Long userId) {
+    public void invalidateCouponsByAdmin(Map<Long, Integer> giveCouponsMap, Long userId) {
         // 循环收回
         for (Map.Entry<Long, Integer> entry : giveCouponsMap.entrySet()) {
             try {

+ 4 - 1
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/order/TradeOrderDO.java

@@ -294,10 +294,13 @@ public class TradeOrderDO extends BaseDO {
      */
     private Integer vipPrice;
 
+    // TODO @puhui999:项了下,貌似这里存储 List<Long> giveCouponIds 更合适。因为优惠劵赠送到最后是对应的编号,然后从而进行取消?
     /**
      * 赠送的优惠劵
      *
-     *  key: 优惠劵编号,value:对应的优惠券数量
+     * key: 优惠劵编号
+     * value:对应的优惠券数量
+     *
      * 目的:用于后续取消或者售后订单时,需要扣减赠送
      */
     @TableField(typeHandler = JacksonTypeHandler.class)

+ 1 - 1
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/handler/TradeCouponOrderHandler.java

@@ -51,7 +51,7 @@ public class TradeCouponOrderHandler implements TradeOrderHandler {
         if (CollUtil.isEmpty(order.getGiveCouponsMap())) {
             return;
         }
-        couponApi.takeBackCouponsByAdmin(order.getGiveCouponsMap(), order.getUserId());
+        couponApi.invalidateCouponsByAdmin(order.getGiveCouponsMap(), order.getUserId());
     }
 
 }