Commit 960668787845afeebabf97378ea0835a08d0225f

Authored by 卢越
1 parent 04fdc70f

修复优惠券回收后,领取数量和剩余数量不更新的问题

yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/dataobject/coupon/CouponDO.java
@@ -8,6 +8,7 @@ import cn.iocoder.yudao.module.promotion.enums.coupon.CouponStatusEnum; @@ -8,6 +8,7 @@ import cn.iocoder.yudao.module.promotion.enums.coupon.CouponStatusEnum;
8 import cn.iocoder.yudao.module.promotion.enums.coupon.CouponTakeTypeEnum; 8 import cn.iocoder.yudao.module.promotion.enums.coupon.CouponTakeTypeEnum;
9 import com.baomidou.mybatisplus.annotation.KeySequence; 9 import com.baomidou.mybatisplus.annotation.KeySequence;
10 import com.baomidou.mybatisplus.annotation.TableField; 10 import com.baomidou.mybatisplus.annotation.TableField;
  11 +import com.baomidou.mybatisplus.annotation.TableId;
11 import com.baomidou.mybatisplus.annotation.TableName; 12 import com.baomidou.mybatisplus.annotation.TableName;
12 import lombok.Data; 13 import lombok.Data;
13 import lombok.EqualsAndHashCode; 14 import lombok.EqualsAndHashCode;
@@ -30,6 +31,7 @@ public class CouponDO extends BaseDO { @@ -30,6 +31,7 @@ public class CouponDO extends BaseDO {
30 /** 31 /**
31 * 优惠劵编号 32 * 优惠劵编号
32 */ 33 */
  34 + @TableId
33 private Long id; 35 private Long id;
34 /** 36 /**
35 * 优惠劵模板编号 37 * 优惠劵模板编号
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponServiceImpl.java
@@ -25,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional; @@ -25,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
25 import org.springframework.validation.annotation.Validated; 25 import org.springframework.validation.annotation.Validated;
26 26
27 import jakarta.annotation.Resource; 27 import jakarta.annotation.Resource;
  28 +
28 import java.time.LocalDateTime; 29 import java.time.LocalDateTime;
29 import java.util.*; 30 import java.util.*;
30 import java.util.stream.Collectors; 31 import java.util.stream.Collectors;
@@ -134,6 +135,8 @@ public class CouponServiceImpl implements CouponService { @@ -134,6 +135,8 @@ public class CouponServiceImpl implements CouponService {
134 // 校验存在 135 // 校验存在
135 validateCouponExists(id); 136 validateCouponExists(id);
136 137
  138 + // 查询优惠券信息
  139 + CouponDO couponDO = couponMapper.selectById(id);
137 // 更新优惠劵 140 // 更新优惠劵
138 int deleteCount = couponMapper.delete(id, 141 int deleteCount = couponMapper.delete(id,
139 asList(CouponStatusEnum.UNUSED.getStatus(), CouponStatusEnum.EXPIRE.getStatus())); 142 asList(CouponStatusEnum.UNUSED.getStatus(), CouponStatusEnum.EXPIRE.getStatus()));
@@ -141,7 +144,7 @@ public class CouponServiceImpl implements CouponService { @@ -141,7 +144,7 @@ public class CouponServiceImpl implements CouponService {
141 throw exception(COUPON_DELETE_FAIL_USED); 144 throw exception(COUPON_DELETE_FAIL_USED);
142 } 145 }
143 // 传入优惠券模板ID,减少优惠劵模板的领取数量 -1 146 // 传入优惠券模板ID,减少优惠劵模板的领取数量 -1
144 - couponTemplateService.updateCouponTemplateTakeCount(couponMapper.selectById(id).getTemplateId(), -1); 147 + couponTemplateService.updateCouponTemplateTakeCount(couponDO.getTemplateId(), -1);
145 } 148 }
146 149
147 @Override 150 @Override