mirror of
https://gitee.com/huangge1199_admin/vue-pro.git
synced 2024-11-23 07:41:53 +08:00
【代码评审】商城:满减送订单
This commit is contained in:
parent
69d1a70900
commit
88cc4c987b
@ -36,20 +36,23 @@ public interface CouponApi {
|
|||||||
*/
|
*/
|
||||||
CouponRespDTO validateCoupon(@Valid CouponValidReqDTO validReqDTO);
|
CouponRespDTO validateCoupon(@Valid CouponValidReqDTO validReqDTO);
|
||||||
|
|
||||||
|
// TODO @puhui999:可能需要根据 TradeOrderDO 的建议,进行修改;需要返回优惠劵编号
|
||||||
/**
|
/**
|
||||||
* 【管理员】给指定用户批量发送优惠券
|
* 【管理员】给指定用户批量发送优惠券
|
||||||
*
|
*
|
||||||
* @param giveCouponsMap key: 优惠劵编号,value:对应的优惠券数量
|
* @param giveCouponsMap key: 优惠劵编号,value:对应的优惠券数量
|
||||||
* @param userId 用户编号
|
* @param userId 用户编号
|
||||||
*/
|
*/
|
||||||
|
// TODO @puhui999:giveCouponsMap 可能改成 giveCoupons 更合适?优惠劵模版编号、数量
|
||||||
void takeCouponsByAdmin(Map<Long, Integer> giveCouponsMap, Long userId);
|
void takeCouponsByAdmin(Map<Long, Integer> giveCouponsMap, Long userId);
|
||||||
|
|
||||||
|
// TODO @puhui999:可能需要根据 TradeOrderDO 的建议,进行修改 giveCouponsMap 参数
|
||||||
/**
|
/**
|
||||||
* 【管理员】收回给指定用户批量发送优惠券
|
* 【管理员】作废指定用户的指定优惠劵
|
||||||
*
|
*
|
||||||
* @param giveCouponsMap key: 优惠劵编号,value:对应的优惠券数量
|
* @param giveCouponsMap key: 优惠劵编号,value:对应的优惠券数量
|
||||||
* @param userId 用户编号
|
* @param userId 用户编号
|
||||||
*/
|
*/
|
||||||
void takeBackCouponsByAdmin(Map<Long, Integer> giveCouponsMap, Long userId);
|
void invalidateCouponsByAdmin(Map<Long, Integer> giveCouponsMap, Long userId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -86,6 +86,7 @@ public class RewardActivityMatchRespDTO {
|
|||||||
* 是否包邮
|
* 是否包邮
|
||||||
*/
|
*/
|
||||||
private Boolean freeDelivery;
|
private Boolean freeDelivery;
|
||||||
|
// TODO @puhui999:建议不返回 + 去掉 givePoint、giveCoupon 字段哈。
|
||||||
/**
|
/**
|
||||||
* 是否赠送积分
|
* 是否赠送积分
|
||||||
*/
|
*/
|
||||||
@ -98,10 +99,12 @@ public class RewardActivityMatchRespDTO {
|
|||||||
* 是否赠送优惠券
|
* 是否赠送优惠券
|
||||||
*/
|
*/
|
||||||
private Boolean giveCoupon;
|
private Boolean giveCoupon;
|
||||||
|
// TODO @puhui999:giveCoupons 即可
|
||||||
/**
|
/**
|
||||||
* 赠送的优惠劵
|
* 赠送的优惠劵
|
||||||
*
|
*
|
||||||
* key: 优惠劵编号,value:对应的优惠券数量
|
* key: 优惠劵模版编号
|
||||||
|
* value:对应的优惠券数量
|
||||||
*/
|
*/
|
||||||
private Map<Long, Integer> giveCouponsMap;
|
private Map<Long, Integer> giveCouponsMap;
|
||||||
|
|
||||||
|
@ -18,6 +18,7 @@ public enum CouponStatusEnum implements IntArrayValuable {
|
|||||||
UNUSED(1, "未使用"),
|
UNUSED(1, "未使用"),
|
||||||
USED(2, "已使用"),
|
USED(2, "已使用"),
|
||||||
EXPIRE(3, "已过期"),
|
EXPIRE(3, "已过期"),
|
||||||
|
// TODO @puhui999:捉摸了下,貌似搞成逻辑删除好了?不然好多地方的 status 都要做一些变动。可能未来加个 invalidateType 来标识,是管理后台删除,还是取消回收。或者优惠劵的 change log 可能更好。
|
||||||
INVALID(4, "已作废");
|
INVALID(4, "已作废");
|
||||||
|
|
||||||
public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(CouponStatusEnum::getStatus).toArray();
|
public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(CouponStatusEnum::getStatus).toArray();
|
||||||
|
@ -48,8 +48,8 @@ public class CouponApiImpl implements CouponApi {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void takeBackCouponsByAdmin(Map<Long, Integer> giveCouponsMap, Long userId) {
|
public void invalidateCouponsByAdmin(Map<Long, Integer> giveCouponsMap, Long userId) {
|
||||||
couponService.takeBackCouponsByAdmin(giveCouponsMap, userId);
|
couponService.invalidateCouponsByAdmin(giveCouponsMap, userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -119,7 +119,7 @@ public interface CouponService {
|
|||||||
* @param giveCouponsMap key: 优惠劵编号,value:对应的优惠券数量
|
* @param giveCouponsMap key: 优惠劵编号,value:对应的优惠券数量
|
||||||
* @param userId 用户编号
|
* @param userId 用户编号
|
||||||
*/
|
*/
|
||||||
void takeBackCouponsByAdmin(Map<Long, Integer> giveCouponsMap, Long userId);
|
void invalidateCouponsByAdmin(Map<Long, Integer> giveCouponsMap, Long userId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 【会员】领取优惠券
|
* 【会员】领取优惠券
|
||||||
|
@ -198,7 +198,7 @@ public class CouponServiceImpl implements CouponService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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()) {
|
for (Map.Entry<Long, Integer> entry : giveCouponsMap.entrySet()) {
|
||||||
try {
|
try {
|
||||||
|
@ -294,10 +294,13 @@ public class TradeOrderDO extends BaseDO {
|
|||||||
*/
|
*/
|
||||||
private Integer vipPrice;
|
private Integer vipPrice;
|
||||||
|
|
||||||
|
// TODO @puhui999:项了下,貌似这里存储 List<Long> giveCouponIds 更合适。因为优惠劵赠送到最后是对应的编号,然后从而进行取消?
|
||||||
/**
|
/**
|
||||||
* 赠送的优惠劵
|
* 赠送的优惠劵
|
||||||
*
|
*
|
||||||
* key: 优惠劵编号,value:对应的优惠券数量
|
* key: 优惠劵编号
|
||||||
|
* value:对应的优惠券数量
|
||||||
|
*
|
||||||
* 目的:用于后续取消或者售后订单时,需要扣减赠送
|
* 目的:用于后续取消或者售后订单时,需要扣减赠送
|
||||||
*/
|
*/
|
||||||
@TableField(typeHandler = JacksonTypeHandler.class)
|
@TableField(typeHandler = JacksonTypeHandler.class)
|
||||||
|
@ -51,7 +51,7 @@ public class TradeCouponOrderHandler implements TradeOrderHandler {
|
|||||||
if (CollUtil.isEmpty(order.getGiveCouponsMap())) {
|
if (CollUtil.isEmpty(order.getGiveCouponsMap())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
couponApi.takeBackCouponsByAdmin(order.getGiveCouponsMap(), order.getUserId());
|
couponApi.invalidateCouponsByAdmin(order.getGiveCouponsMap(), order.getUserId());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user