Commit 03e510adfde31b3040f184ac2007f0b4ff3aa1c7
1 parent
f6acc9de
fix:【MALL】修复了一些问题 https://gitee.com/zhijiantianya/ruoyi-vue-pro/pulls/1315
Showing
1 changed file
with
3 additions
and
4 deletions
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponServiceImpl.java
| @@ -181,7 +181,7 @@ public class CouponServiceImpl implements CouponService { | @@ -181,7 +181,7 @@ public class CouponServiceImpl implements CouponService { | ||
| 181 | * @param couponId 模版编号 | 181 | * @param couponId 模版编号 |
| 182 | * @param userId 用户编号 | 182 | * @param userId 用户编号 |
| 183 | */ | 183 | */ |
| 184 | - @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW) // 每次调用开启一个新的事务 | 184 | + @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW) // 每次调用开启一个新的事务,避免在一个大的事务里面 |
| 185 | public void invalidateCoupon(Long couponId, Long userId) { | 185 | public void invalidateCoupon(Long couponId, Long userId) { |
| 186 | if (couponId == null || couponId <= 0) { | 186 | if (couponId == null || couponId <= 0) { |
| 187 | return; | 187 | return; |
| @@ -279,8 +279,8 @@ public class CouponServiceImpl implements CouponService { | @@ -279,8 +279,8 @@ public class CouponServiceImpl implements CouponService { | ||
| 279 | if (ObjUtil.notEqual(couponTemplate.getTakeType(), takeType.getType())) { | 279 | if (ObjUtil.notEqual(couponTemplate.getTakeType(), takeType.getType())) { |
| 280 | throw exception(COUPON_TEMPLATE_CANNOT_TAKE); | 280 | throw exception(COUPON_TEMPLATE_CANNOT_TAKE); |
| 281 | } | 281 | } |
| 282 | - // 校验剩余数量 | ||
| 283 | - if (ObjUtil.equal(CouponTakeTypeEnum.USER.getType(), couponTemplate.getTakeType()) // 直接领取 | 282 | + // 校验发放数量不能过小(仅在 CouponTakeTypeEnum.USER 用户领取时) |
| 283 | + if (CouponTakeTypeEnum.isUser(couponTemplate.getTakeType()) | ||
| 284 | && ObjUtil.notEqual(couponTemplate.getTakeLimitCount(), CouponTemplateDO.TIME_LIMIT_COUNT_MAX) // 非不限制 | 284 | && ObjUtil.notEqual(couponTemplate.getTakeLimitCount(), CouponTemplateDO.TIME_LIMIT_COUNT_MAX) // 非不限制 |
| 285 | && couponTemplate.getTakeCount() + userIds.size() > couponTemplate.getTotalCount()) { | 285 | && couponTemplate.getTakeCount() + userIds.size() > couponTemplate.getTotalCount()) { |
| 286 | throw exception(COUPON_TEMPLATE_NOT_ENOUGH); | 286 | throw exception(COUPON_TEMPLATE_NOT_ENOUGH); |
| @@ -291,7 +291,6 @@ public class CouponServiceImpl implements CouponService { | @@ -291,7 +291,6 @@ public class CouponServiceImpl implements CouponService { | ||
| 291 | throw exception(COUPON_TEMPLATE_EXPIRED); | 291 | throw exception(COUPON_TEMPLATE_EXPIRED); |
| 292 | } | 292 | } |
| 293 | } | 293 | } |
| 294 | - | ||
| 295 | } | 294 | } |
| 296 | 295 | ||
| 297 | /** | 296 | /** |