【代码优化】商城: 满减送活动

This commit is contained in:
puhui999
2024-09-02 11:23:13 +08:00
parent f00b3005c7
commit 5ea3e5db0d
15 changed files with 256 additions and 202 deletions

View File

@ -5,6 +5,7 @@ import cn.iocoder.yudao.module.promotion.api.coupon.dto.CouponUseReqDTO;
import cn.iocoder.yudao.module.promotion.api.coupon.dto.CouponValidReqDTO;
import jakarta.validation.Valid;
import java.util.List;
import java.util.Map;
/**
@ -36,23 +37,21 @@ public interface CouponApi {
*/
CouponRespDTO validateCoupon(@Valid CouponValidReqDTO validReqDTO);
// TODO @puhui999可能需要根据 TradeOrderDO 的建议,进行修改;需要返回优惠劵编号
/**
* 【管理员】给指定用户批量发送优惠券
*
* @param giveCouponsMap key: 优惠劵编号value对应的优惠券数量
* @param giveCoupons key: 优惠劵模版编号value对应的数量
* @param userId 用户编号
* @return 优惠券编号列表
*/
// TODO @puhui999giveCouponsMap 可能改成 giveCoupons 更合适?优惠劵模版编号、数量
void takeCouponsByAdmin(Map<Long, Integer> giveCouponsMap, Long userId);
List<Long> takeCouponsByAdmin(Map<Long, Integer> giveCoupons, Long userId);
// TODO @puhui999可能需要根据 TradeOrderDO 的建议,进行修改 giveCouponsMap 参数
/**
* 【管理员】作废指定用户的指定优惠劵
*
* @param giveCouponsMap key: 优惠编号value对应的优惠券数量
* @param giveCouponIds 赠送的优惠编号
* @param userId 用户编号
*/
void invalidateCouponsByAdmin(Map<Long, Integer> giveCouponsMap, Long userId);
void invalidateCouponsByAdmin(List<Long> giveCouponIds, Long userId);
}

View File

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

View File

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