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 |   70 +++++++++++++++++-----------------
 1 files changed, 35 insertions(+), 35 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 8b1d0d5..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
@@ -8,8 +8,12 @@
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.common.collect.Lists;
 import com.ruoyi.common.core.constant.SecurityConstants;
-import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.core.enums.*;
+import com.ruoyi.common.core.enums.ClientTypeEnum;
+import com.ruoyi.common.core.enums.GroupStatusEnum;
+import com.ruoyi.common.core.enums.ListingStatusEnum;
+import com.ruoyi.common.core.enums.OrderFromEnum;
+import com.ruoyi.common.core.enums.OrderStatusEnum;
+import com.ruoyi.common.core.enums.StartStatusEnum;
 import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.common.core.utils.DateUtils;
 import com.ruoyi.common.core.utils.StringUtils;
@@ -27,14 +31,17 @@
 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.*;
+import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO;
+import com.ruoyi.system.api.domain.dto.ListStatusDTO;
+import com.ruoyi.system.api.domain.dto.OrderDTO;
+import com.ruoyi.system.api.domain.dto.OrderUpdDTO;
+import com.ruoyi.system.api.domain.dto.RefundDTO;
 import com.ruoyi.system.api.domain.vo.GoodsGroupPurchaseInfoVO;
 import com.ruoyi.system.api.domain.vo.OrderVO;
 import com.ruoyi.system.api.domain.vo.WdGoodsGroupPurchaseVO;
@@ -102,7 +109,7 @@
             queryWrapper.eq(GoodsGroupPurchase::getListingStatus,
                     ListingStatusEnum.ON_SHELVES.getCode());
             queryWrapper.le(GoodsGroupPurchase::getStartTime, dto.getStartTime());
-            queryWrapper.ge(GoodsGroupPurchase::getEndTime, dto.getEndTime());
+            queryWrapper.ge(GoodsGroupPurchase::getEndTime, dto.getStartTime());
             long count = this.count(queryWrapper);
             if (count > 0) {
                 throw new ServiceException("添加失败,当前商品在该时间段内有其他团购活动");
@@ -117,10 +124,6 @@
                 throw new ServiceException(String.format("团购商品【%s】剩余库存不足,请修改团购库存",
                         goodsSku.getSkuName()));
             }
-            GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO();
-            goodsStockUpdDTO.setAuctionStock(groupPurchaseStock * -1);
-            goodsStockUpdDTO.setGoodsSkuId(goodsSku.getId());
-            goodsSkuService.updGoodsStock(Lists.newArrayList(goodsStockUpdDTO));
         } else {
             GoodsGroupPurchase groupPurchase = this.getById(dto.getId());
             if (StringUtils.isNull(groupPurchase)) {
@@ -143,15 +146,8 @@
                 throw new ServiceException(String.format("团购商品%s剩余库存不足,请修改团购库存",
                         goodsSku.getSkuName()));
             }
-            GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO();
-            goodsStockUpdDTO.setAuctionStock(latestStock);
-            goodsStockUpdDTO.setGoodsSkuId(goodsSku.getId());
-            goodsSkuService.updGoodsStock(Lists.newArrayList(goodsStockUpdDTO));
-            this.updateById(goodsGroupPurchase);
         }
-        if (goodsGroupPurchase.getListingStatus().equals(ListingStatusEnum.ON_SHELVES)) {
-            asyncMethodService.groupPurchaseScheduleTask(Lists.newArrayList(goodsGroupPurchase));
-        }
+        asyncMethodService.groupPurchaseScheduleTask(Lists.newArrayList(goodsGroupPurchase));
     }
 
     /**
@@ -172,6 +168,12 @@
         Integer num = orderClient.getGroupPurchasesGoodsNum(groupPurchase.getId(),
                 SecurityConstants.INNER).getData();
         vo.setBuyNumber(num);
+        List<GoodsGroupPurchaseInfo> list = goodsGroupPurchaseInfoService.lambdaQuery()
+                .eq(GoodsGroupPurchaseInfo::getGroupPurchaseId, id).list();
+        Integer count = list.stream().map(GoodsGroupPurchaseInfo::getCurrentNumber)
+                .reduce(Integer::sum)
+                .orElse(0);
+        vo.setGroupedMemberNumber(count);
         return vo;
     }
 
@@ -191,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));
-        }
     }
 
     /**
@@ -583,10 +576,17 @@
                         }
                     }if (one1.getGroupStatus()==1){
                         goodsGroupPurchaseeVO.setGroupStatus(GroupStatusEnum.FORMED_INTO_A_GROUP);
-                    }if (one1.getGroupStatus()==2){
-                        goodsGroupPurchaseeVO.setGroupStatus(GroupStatusEnum.GROUP_FAILURE);
+                    }if (goodsGroupPurchaseeVO.getStartStatus().getCode()==1){
+                        if (one1.getGroupStatus()==2){
+                            goodsGroupPurchaseeVO.setGroupStatus(GroupStatusEnum.TO_FORM_A_GROUP);
+                        }
+                    }else{
+                        if (one1.getGroupStatus()==2){
+                            goodsGroupPurchaseeVO.setGroupStatus(GroupStatusEnum.GROUP_FAILURE);
+                        }
                     }
 
+
                 }
             }
 

--
Gitblit v1.7.1