From 84f0cb0a9baa7a2b6af71efa4cf76ded8d5343dc Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Thu, 18 Sep 2025 15:06:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=A1=E9=AA=8C=20=E5=89=A9=E4=BD=99?= =?UTF-8?q?=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/MkShopCouponRecordService.java | 2 +- .../impl/MkShopCouponRecordServiceImpl.java | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkShopCouponRecordService.java b/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkShopCouponRecordService.java index 8714ec61..58e55475 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkShopCouponRecordService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkShopCouponRecordService.java @@ -38,7 +38,7 @@ public interface MkShopCouponRecordService extends IService * * @param giftDTO 除 sourceFlowId 外 全必填 如果有 也填 * @param number 发放数量 - * @param isLimit 是否校验限领,活动与管理员添加 不计限领 + * @param isLimit 是否校验限领/扣除剩余数量,活动与管理员添加 不计限领 */ void receiveCoupon(MkShopCouponGiftDTO giftDTO, Integer number, boolean isLimit); diff --git a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkShopCouponRecordServiceImpl.java b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkShopCouponRecordServiceImpl.java index 00069a41..eab9c179 100644 --- a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkShopCouponRecordServiceImpl.java +++ b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkShopCouponRecordServiceImpl.java @@ -139,18 +139,22 @@ public class MkShopCouponRecordServiceImpl extends ServiceImpl= 0 && coupon.getLeftNum() < number) { - throw new CzgException("优惠券库存不足"); - } if (isLimit) { + if (coupon.getGiveNum() >= 0 && coupon.getLeftNum() < number) { + throw new CzgException("优惠券库存不足"); + } //查询已领取张数 long count = this.queryChain() .eq(MkShopCouponRecord::getShopUserId, shopUser.getId()) .eq(MkShopCouponRecord::getCouponId, giftDTO.getCouponId()).count(); if (coupon.getGetLimit() >= 0 && count >= coupon.getGetLimit()) { - throw new CzgException("已达到领取限制,不可领取7"); + throw new CzgException("已达到领取限制,不可领取"); } } + coupon.setGiftNum(coupon.getGiftNum() + number); + if (coupon.getGiveNum() != -10086 && isLimit) { + coupon.setLeftNum(coupon.getLeftNum() - number); + } String couponJson = JSONObject.toJSONString(coupon); LocalDateTime start = LocalDateTime.now().with(LocalTime.MIN); LocalDateTime end = null; @@ -187,11 +191,7 @@ public class MkShopCouponRecordServiceImpl extends ServiceImpl