From 11c95afd1e44bcd3d70dbcf77e790596ec80a53e Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期二, 24 九月 2024 18:54:59 +0800
Subject: [PATCH] fix: 剔除加价限制条件
---
src/main/java/com/mzl/flower/service/impl/coupon/CouponRecordServiceImpl.java | 28 ++++++++++++++++++++++++----
1 files changed, 24 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/mzl/flower/service/impl/coupon/CouponRecordServiceImpl.java b/src/main/java/com/mzl/flower/service/impl/coupon/CouponRecordServiceImpl.java
index 573ebaf..aef2357 100644
--- a/src/main/java/com/mzl/flower/service/impl/coupon/CouponRecordServiceImpl.java
+++ b/src/main/java/com/mzl/flower/service/impl/coupon/CouponRecordServiceImpl.java
@@ -95,15 +95,29 @@
// 获取锁,最多等待 10 秒,锁自动释放时间 30 秒
if (lock.tryLock(10, 30, TimeUnit.SECONDS)) {
try {
- // 活动优惠券和积分优惠券需要根据库存来控制- 根据优惠券的发放数量来控制有没有超发
- if(StringUtils.isNotBlank(couponTemplateDO.getCategory()) && (
- couponTemplateDO.getCategory().equals(CouponCategoryEnum.ACTIVITY.getStatus()) || couponTemplateDO.getCategory().equals(CouponCategoryEnum.POINT.getStatus())
- )){
+ // 活动优惠券 根据优惠券的发放数量来控制有没有超发
+ if(StringUtils.isNotBlank(couponTemplateDO.getCategory()) &&
+ couponTemplateDO.getCategory().equals(CouponCategoryEnum.ACTIVITY.getStatus())
+ ){
// 获取当前优惠券已经领取的数量
final Integer gainTotal = getExistGainCouponRecordAmountById(couponTemplateDO.getId());
if(couponTemplateDO.getCouponAmount().compareTo(gainTotal)<=0){
throw new ValidationException("当前优惠券已经领完!");
}
+ }
+ if(StringUtils.isNotBlank(couponTemplateDO.getCategory())
+ && couponTemplateDO.getCategory().equals(CouponCategoryEnum.POINT.getStatus()
+ )){
+ // 获取当前优惠券已经领取的数量
+
+ if(couponTemplateDO.getCouponAmount()<=0){
+ throw new ValidationException("当前优惠券已经领完!");
+ }else{
+ couponTemplateDO.setCouponAmount(couponTemplateDO.getCouponAmount()-1);
+ // 更新库存
+ couponTemplateService.updateById(couponTemplateDO);
+ }
+
}
// 根据用户领取设置的getLimit 查看当前用户是否已经超领优惠券
@@ -549,4 +563,10 @@
;
return baseMapper.selectCount(queryWrapper)>0;
}
+
+ @Override
+ public boolean expireCouponRecordAll() {
+
+ return couponRecordMapperCustom.expireCouponRecordAll();
+ }
}
--
Gitblit v1.9.3