From fc8b51f40e71aa09bb49f407c1e9f68ac94ceb58 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期一, 29 七月 2024 18:51:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java |   29 ++++++++---------------------
 1 files changed, 8 insertions(+), 21 deletions(-)

diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java
index aa0f0fa..cdd540b 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java
@@ -31,14 +31,12 @@
 import com.ruoyi.goods.service.IGoodsSkuService;
 import com.ruoyi.goods.service.IMemberGoodsCollectionService;
 import com.ruoyi.goods.service.async.AsyncMethodService;
-import com.ruoyi.system.api.constants.DelayTaskEnum;
 import com.ruoyi.system.api.constants.NotificationTypeConstant;
 import com.ruoyi.system.api.domain.GoodsGroupPurchase;
 import com.ruoyi.system.api.domain.GoodsGroupPurchaseInfo;
 import com.ruoyi.system.api.domain.GoodsSku;
 import com.ruoyi.system.api.domain.Order;
 import com.ruoyi.system.api.domain.WebsocketMessageDTO;
-import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO;
 import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO;
 import com.ruoyi.system.api.domain.dto.ListStatusDTO;
 import com.ruoyi.system.api.domain.dto.OrderDTO;
@@ -149,9 +147,7 @@
                         goodsSku.getSkuName()));
             }
         }
-        if (goodsGroupPurchase.getListingStatus().equals(ListingStatusEnum.ON_SHELVES)) {
-            asyncMethodService.groupPurchaseScheduleTask(Lists.newArrayList(goodsGroupPurchase));
-        }
+        asyncMethodService.groupPurchaseScheduleTask(Lists.newArrayList(goodsGroupPurchase));
     }
 
     /**
@@ -197,28 +193,19 @@
             if (groupPurchase.getStartStatus().equals(StartStatusEnum.STARTED)) {
                 throw new ServiceException("该商品已开始团购,不能下架");
             }
-            //移除该团购商品延时任务
-            redisService.deleteObject(DelayTaskEnum.GROUP_PURCHASES_START_TASK.getCode() + "-"
-                    + groupPurchase.getId());
-            redisService.deleteObject(
-                    DelayTaskEnum.GROUP_PURCHASES_END_TASK.getCode() + "-" + groupPurchase.getId());
-            // 退回剩余库存
-            GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO();
-            goodsStockUpdDTO.setAuctionStock(
-                    groupPurchase.getLimitNumber() * groupPurchase.getGroupSize());
-            goodsStockUpdDTO.setGoodsSkuId(groupPurchase.getGoodsSkuId());
-            goodsSkuService.updGoodsStock(Lists.newArrayList(goodsStockUpdDTO));
         }
         //修改状态
         groupPurchase.setListingStatus(dto.getListingStatus());
-        groupPurchase.setStartStatus(StartStatusEnum.ENDED);
-        if (!groupPurchase.getGroupStatus().equals(GroupStatusEnum.FORMED_INTO_A_GROUP)) {
+        List<GoodsGroupPurchaseInfo> groupPurchaseInfoList = goodsGroupPurchaseInfoService.lambdaQuery()
+                .eq(GoodsGroupPurchaseInfo::getGroupPurchaseId, dto.getId()).list();
+        long count = groupPurchaseInfoList.stream().filter(info -> info.getGroupStatus() == 1)
+                .count();
+        if (count > 0) {
+            groupPurchase.setGroupStatus(GroupStatusEnum.FORMED_INTO_A_GROUP);
+        } else {
             groupPurchase.setGroupStatus(GroupStatusEnum.GROUP_FAILURE);
         }
         this.updateById(groupPurchase);
-        if (dto.getListingStatus().equals(ListingStatusEnum.ON_SHELVES)) {
-            asyncMethodService.groupPurchaseScheduleTask(Lists.newArrayList(groupPurchase));
-        }
     }
 
     /**

--
Gitblit v1.7.1