From a3fa5a3fa8eaaab8c132e4e6a425b393b16af1ab Mon Sep 17 00:00:00 2001 From: Jack <46790855@qq.com> Date: Thu, 20 Nov 2025 00:10:07 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A0=8D=E4=BB=B7=E6=B4=BB=E5=8A=A8=EF=BC=8C?= =?UTF-8?q?=E4=B8=8B=E5=8D=95=E5=89=8D=E6=A3=80=E6=9F=A5=20=E5=BA=93?= =?UTF-8?q?=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ShopActivityCutpriceServiceImpl.java | 37 ++++++----- .../impl/ShopOrderBaseServiceImpl.java | 11 ++-- .../service/ShopStoreActivityBaseService.java | 7 ++ .../ShopStoreActivityBaseServiceImpl.java | 64 +++++++++++++++++++ 4 files changed, 99 insertions(+), 20 deletions(-) diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/activity/service/impl/ShopActivityCutpriceServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/activity/service/impl/ShopActivityCutpriceServiceImpl.java index 4b4913ed..ebf700c7 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/activity/service/impl/ShopActivityCutpriceServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/activity/service/impl/ShopActivityCutpriceServiceImpl.java @@ -305,17 +305,19 @@ public class ShopActivityCutpriceServiceImpl extends BaseServiceImpl checkStockResult = checkCutPriceExpiredAndStock(activityBase); + // 立即参与活动? boolean is_join_activity = false; // 如果用户未参与该砍价活动,则创建新的砍价记录 if (cutprice_row == null) { - // 需要检查活动有效期和活动商品库存是否足够 - Pair check_result = checkCutPriceExpiredAndStock(activityBase); - if (!check_result.getFirst()) { + + if (!checkStockResult.getFirst()) { // 库存不够,立即更改活动状态为已结束 shopStoreActivityBaseService.updateActivityState(activity_id, StateCode.ACTIVITY_STATE_FINISHED); - throw new ApiException(check_result.getSecond()); + throw new ApiException(checkStockResult.getSecond()); } cutprice_row = new ShopActivityCutprice(); @@ -375,19 +377,24 @@ public class ShopActivityCutpriceServiceImpl extends BaseServiceImpl canDoOrderCutPriceActivity = shopActivityCutpriceService.canDoOrderCutPriceActivity(acId, userId); @@ -1673,10 +1678,6 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl= productCount; + if (isSoldOut) { + logger.info("活动商品已售完:activity_id={}, 已售数量={}, 库存数量={}", + activity_id, soldCount, productCount); + } + + return isSoldOut; + } catch (Exception e) { + logger.error("活动商品售完检查异常:activity_id={}", activity_id, e); + return true; // 出现异常时保守地返回已售完 + } + } + @Transactional public boolean removeActivityBase(Integer activity_id, ShopStoreActivityBase activity_row) {