Commit 55f2612369e441fae6bb708a47323404b8e9cb41
Committed by
Gitee
!1034 修复优惠券回收之后,领取数量和剩余数量不更新的问题
Merge pull request !1034 from 卢越/master-jdk17
Showing
2 changed files
with
7 additions
and
2 deletions
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 | 8 | import cn.iocoder.yudao.module.promotion.enums.coupon.CouponTakeTypeEnum; |
| 9 | 9 | import com.baomidou.mybatisplus.annotation.KeySequence; |
| 10 | 10 | import com.baomidou.mybatisplus.annotation.TableField; |
| 11 | +import com.baomidou.mybatisplus.annotation.TableId; | |
| 11 | 12 | import com.baomidou.mybatisplus.annotation.TableName; |
| 12 | 13 | import lombok.Data; |
| 13 | 14 | import lombok.EqualsAndHashCode; |
| ... | ... | @@ -30,6 +31,7 @@ public class CouponDO extends BaseDO { |
| 30 | 31 | /** |
| 31 | 32 | * 优惠劵编号 |
| 32 | 33 | */ |
| 34 | + @TableId | |
| 33 | 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 | 25 | import org.springframework.validation.annotation.Validated; |
| 26 | 26 | |
| 27 | 27 | import jakarta.annotation.Resource; |
| 28 | + | |
| 28 | 29 | import java.time.LocalDateTime; |
| 29 | 30 | import java.util.*; |
| 30 | 31 | import java.util.stream.Collectors; |
| ... | ... | @@ -134,14 +135,16 @@ public class CouponServiceImpl implements CouponService { |
| 134 | 135 | // 校验存在 |
| 135 | 136 | validateCouponExists(id); |
| 136 | 137 | |
| 138 | + // 查询优惠券信息 | |
| 139 | + CouponDO couponDO = couponMapper.selectById(id); | |
| 137 | 140 | // 更新优惠劵 |
| 138 | 141 | int deleteCount = couponMapper.delete(id, |
| 139 | 142 | asList(CouponStatusEnum.UNUSED.getStatus(), CouponStatusEnum.EXPIRE.getStatus())); |
| 140 | 143 | if (deleteCount == 0) { |
| 141 | 144 | throw exception(COUPON_DELETE_FAIL_USED); |
| 142 | 145 | } |
| 143 | - // 减少优惠劵模板的领取数量 -1 | |
| 144 | - couponTemplateService.updateCouponTemplateTakeCount(id, -1); | |
| 146 | + // 传入优惠券模板ID,减少优惠劵模板的领取数量 -1 | |
| 147 | + couponTemplateService.updateCouponTemplateTakeCount(couponDO.getTemplateId(), -1); | |
| 145 | 148 | } |
| 146 | 149 | |
| 147 | 150 | @Override | ... | ... |