From 073ffb5c71de157c0e0b2397b2b7853e487f1ff8 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sat, 22 Nov 2025 18:09:50 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E3=80=90coupon=E3=80=91=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E5=8F=91=E6=94=BE=E6=95=B0=E9=87=8F=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?=E9=80=BB=E8=BE=91=EF=BC=8C=E7=A1=AE=E4=BF=9D=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E9=A2=86=E5=8F=96=E6=97=B6=E5=89=A9=E4=BD=99=E6=95=B0=E9=87=8F?= =?UTF-8?q?=E5=85=85=E8=B6=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/promotion/service/coupon/CouponServiceImpl.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/yudao-module-mall/yudao-module-promotion/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponServiceImpl.java b/yudao-module-mall/yudao-module-promotion/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponServiceImpl.java index 23f97306c6..93e00cc1cf 100644 --- a/yudao-module-mall/yudao-module-promotion/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponServiceImpl.java +++ b/yudao-module-mall/yudao-module-promotion/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponServiceImpl.java @@ -282,10 +282,11 @@ public class CouponServiceImpl implements CouponService { if (ObjUtil.notEqual(couponTemplate.getTakeType(), takeType.getType())) { throw exception(COUPON_TEMPLATE_CANNOT_TAKE); } - // 校验发放数量不能过小(仅在 CouponTakeTypeEnum.USER 用户领取时) + // 校验剩余发放数量是否充足(仅在 CouponTakeTypeEnum.USER 用户领取时) + // 关联案例:https://t.zsxq.com/mElGQ、https://t.zsxq.com/6pLzr if (CouponTakeTypeEnum.isUser(couponTemplate.getTakeType()) && ObjUtil.notEqual(couponTemplate.getTakeLimitCount(), CouponTemplateDO.TAKE_LIMIT_COUNT_MAX) // 校验不限制领取数 - && ObjUtil.notEqual(couponTemplate.getTotalCount(), CouponTemplateDO.TOTAL_COUNT_MAX)) { // 校验不限制发放数量 + && couponTemplate.getTakeCount() > couponTemplate.getTotalCount()) { // 已领取数量 >= 总发放数量 throw exception(COUPON_TEMPLATE_NOT_ENOUGH); } // 校验"固定日期"的有效期类型是否过期