From a1c466b18b714f4d5309811b7ed1507b8fa428a5 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Thu, 30 Jul 2026 10:01:37 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BC=98=E6=83=A0=E5=88=B8=E6=89=A3?= =?UTF-8?q?=E5=87=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/core/constant/enums/YesNoEnum.java | 3 ++- .../service/impl/order/HardOrderServiceImpl.java | 9 +++++++-- .../utils/act/service/ActCouponComUtilService.java | 12 ++++++++---- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/enums/YesNoEnum.java b/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/enums/YesNoEnum.java index 689eaeebf..5ce73f0ef 100644 --- a/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/enums/YesNoEnum.java +++ b/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/enums/YesNoEnum.java @@ -13,7 +13,8 @@ import lombok.Getter; @AllArgsConstructor public enum YesNoEnum { - YES("1", "是"), NO("0", "否"); + YES("1", "是"), + NO("0", "否"); /** * 编码 diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java index d3605d0df..5678fe6c8 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java @@ -67,6 +67,7 @@ import com.bsd.pjcloud.hard.mapper.HardThirdMiOrderMapper; import com.bsd.pjcloud.hard.mapper.manager.HardManagerMapper; import com.bsd.pjcloud.hard.mapper.order.HardOrderMapper; import com.bsd.pjcloud.hard.service.*; +import com.bsd.pjcloud.hard.utils.RemoteBatchQueryUtil; import com.bsd.pjcloud.supermarket.api.feign.RemoteMallProductService; import com.bsd.pjcloud.supermarket.api.feign.RemoteShopSkuService; import com.bsd.pjcloud.supermarket.api.feign.RemoteSupermarketSpuService; @@ -1781,7 +1782,7 @@ public class HardOrderServiceImpl extends ServiceImpl walletIds = list.stream().map(HardOrderVo::getWalletId).filter(ObjectUtil::isNotEmpty).distinct().toList(); if (ObjectUtil.isNotEmpty(walletIds)) { - List walletList = remoteWalletService.getWalletByIds(walletIds).getData(); + List walletList = getWalletListByIds(walletIds); Map walletMap = CollectionUtils.convertMap(walletList, WalletManageVo::getId); for (HardOrderVo v : list) { WalletManageVo target = walletMap.get(v.getWalletId()); @@ -1801,4 +1802,8 @@ public class HardOrderServiceImpl extends ServiceImpl getWalletListByIds(List walletIds) { + return RemoteBatchQueryUtil.queryByIds(walletIds, ids -> remoteWalletService.getWalletByIds(ids).getData()); + } +} diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/utils/act/service/ActCouponComUtilService.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/utils/act/service/ActCouponComUtilService.java index 479e4c22f..e111cac8f 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/utils/act/service/ActCouponComUtilService.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/utils/act/service/ActCouponComUtilService.java @@ -99,10 +99,14 @@ public class ActCouponComUtilService implements ActCouponLifecycleService { */ @Override public void afterReceive(ActCouponEntity coupon, ActCouponRecordEntity record, SysUser sysUser) { - // 使用原子更新操作,避免并发问题 - int rows = actCouponMapper.deductStock(coupon.getId()); - if (rows == 0) { - throw new RuntimeException("优惠券库存不足或已被领完"); + if (ObjectUtil.isNotEmpty(coupon.getTotalCount()) && coupon.getTotalCount() > 0) { + if (ObjectUtil.isNotEmpty(coupon.getSurplusCount())) { + // 使用原子更新操作,避免并发问题 + int rows = actCouponMapper.deductStock(coupon.getId()); + if (rows == 0) { + throw new RuntimeException("优惠券库存不足或已被领完"); + } + } } }