From 5f803e17ff85b56a5ae0110b46dce17e8ca2e3dd Mon Sep 17 00:00:00 2001 From: dadiyang Date: Wed, 7 Oct 2026 00:36:14 +0800 Subject: [PATCH] fix(promotion):删除券时模板已被删除则跳过回退模板领取数——updateTakeCount 对已逻辑删除模板匹配 0 行会误报「剩余数量不足」致券永久删不掉 --- yudao-module-mall/yudao-module-promotion/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponServiceImpl.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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 6276194..a4b5ed7 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 @@ -115,7 +115,11 @@ public class CouponServiceImpl implements CouponService { } // 减少优惠劵模板的领取数量 -1 - couponTemplateService.updateCouponTemplateTakeCount(coupon.getTemplateId(), -1); + // 若模板已被删除则跳过:已删模板的领取计数无业务意义, + // 且 updateTakeCount 对逻辑删除的模板匹配 0 行,会误报「优惠券模板剩余数量不足」导致删券失败 + if (couponTemplateService.getCouponTemplate(coupon.getTemplateId()) != null) { + couponTemplateService.updateCouponTemplateTakeCount(coupon.getTemplateId(), -1); + } } @Override -- libgit2 0.21.4