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

This commit is contained in:
卢越 2024-08-08 15:17:35 +08:00
parent 04fdc70f58
commit 9606687878
2 changed files with 6 additions and 1 deletions

View File

@ -8,6 +8,7 @@ import cn.iocoder.yudao.module.promotion.enums.coupon.CouponStatusEnum;
import cn.iocoder.yudao.module.promotion.enums.coupon.CouponTakeTypeEnum; import cn.iocoder.yudao.module.promotion.enums.coupon.CouponTakeTypeEnum;
import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@ -30,6 +31,7 @@ public class CouponDO extends BaseDO {
/** /**
* 优惠劵编号 * 优惠劵编号
*/ */
@TableId
private Long id; private Long id;
/** /**
* 优惠劵模板编号 * 优惠劵模板编号

View File

@ -25,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -134,6 +135,8 @@ public class CouponServiceImpl implements CouponService {
// 校验存在 // 校验存在
validateCouponExists(id); validateCouponExists(id);
// 查询优惠券信息
CouponDO couponDO = couponMapper.selectById(id);
// 更新优惠劵 // 更新优惠劵
int deleteCount = couponMapper.delete(id, int deleteCount = couponMapper.delete(id,
asList(CouponStatusEnum.UNUSED.getStatus(), CouponStatusEnum.EXPIRE.getStatus())); asList(CouponStatusEnum.UNUSED.getStatus(), CouponStatusEnum.EXPIRE.getStatus()));
@ -141,7 +144,7 @@ public class CouponServiceImpl implements CouponService {
throw exception(COUPON_DELETE_FAIL_USED); throw exception(COUPON_DELETE_FAIL_USED);
} }
// 传入优惠券模板ID减少优惠劵模板的领取数量 -1 // 传入优惠券模板ID减少优惠劵模板的领取数量 -1
couponTemplateService.updateCouponTemplateTakeCount(couponMapper.selectById(id).getTemplateId(), -1); couponTemplateService.updateCouponTemplateTakeCount(couponDO.getTemplateId(), -1);
} }
@Override @Override