From b29becf95484be48aa09e87fcc7cc19f94cf9c81 Mon Sep 17 00:00:00 2001
From: rentaiming <806181062@qq.com>
Date: 星期三, 10 七月 2024 18:16:23 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java |   51 ++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 40 insertions(+), 11 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 5fcea94..e7e27f7 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
@@ -33,6 +33,7 @@
 import com.ruoyi.system.api.domain.GoodsGroupPurchase;
 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.HomeGoodsSkuDTO;
 import com.ruoyi.system.api.domain.dto.ListStatusDTO;
 import com.ruoyi.system.api.domain.dto.OrderUpdDTO;
@@ -41,13 +42,12 @@
 import com.ruoyi.system.api.domain.vo.OrderVO;
 import com.ruoyi.system.api.domain.vo.WdGoodsGroupPurchaseVO;
 import com.ruoyi.system.api.feignClient.OrderClient;
-import com.ruoyi.system.api.util.WebSocketUsers;
+import com.ruoyi.system.api.feignClient.SysUserClient;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.stream.Collectors;
-import javax.annotation.Resource;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
@@ -65,14 +65,12 @@
 @RequiredArgsConstructor
 public class GoodsGroupPurchaseServiceImpl extends ServiceImpl<GoodsGroupPurchaseMapper, GoodsGroupPurchase> implements IGoodsGroupPurchaseService {
 
-    @Resource
-    private OrderClient orderClient;
+    private final OrderClient orderClient;
     private final IGoodsSkuService goodsSkuService;
     private final AsyncMethodService asyncMethodService;
     private final RedisService redisService;
-
-    @Resource
-    private IMemberGoodsCollectionService iMemberGoodsCollectionService;
+    private final IMemberGoodsCollectionService iMemberGoodsCollectionService;
+    private final SysUserClient sysUserClient;
     // 创建一个静态共享的ObjectMapper实例以重用
     private static final ObjectMapper objectMapper = new ObjectMapper();
     /**
@@ -216,7 +214,9 @@
             map.put("target_id", groupPurchaseId);
             map.put("message_type", "start");
             String msg = objectMapper.writeValueAsString(map);
-            WebSocketUsers.sendMessageToUsersByType(ClientTypeEnum.MEMBER.getCode(), msg);
+
+            sysUserClient.pushByClientType(WebsocketMessageDTO.builder().message(msg)
+                    .clientType(ClientTypeEnum.MEMBER).build(), SecurityConstants.INNER);
             log.info("===================>发送websocket通知,消息体{}", msg);
         }
     }
@@ -240,7 +240,8 @@
             map.put("target_id", groupPurchaseId);
             map.put("message_type", "end");
             String msg = objectMapper.writeValueAsString(map);
-            WebSocketUsers.sendMessageToUsersByType(ClientTypeEnum.MEMBER.getCode(), msg);
+            sysUserClient.pushByClientType(WebsocketMessageDTO.builder().message(msg)
+                    .clientType(ClientTypeEnum.MEMBER).build(), SecurityConstants.INNER);
             log.info("===================>发送websocket通知,消息体{}", msg);
         }
     }
@@ -317,12 +318,13 @@
         goodsGroupPurchaseInfoVO.setGroupPurchasePrice(one.getGroupPurchasePrice());
         goodsGroupPurchaseInfoVO.setGroupSize(one.getGroupSize());
         goodsGroupPurchaseInfoVO.setLimitNumber(one.getLimitNumber());
+        goodsGroupPurchaseInfoVO.setCurrentNumber(one.getCurrentNumber());
         goodsGroupPurchaseInfoVO.setStartTime(one.getStartTime());
         goodsGroupPurchaseInfoVO.setEndTime(one.getEndTime());
         goodsGroupPurchaseInfoVO.setDescription(one.getDescription());
+        goodsGroupPurchaseInfoVO.setDetail(byId.getDescription());
         goodsGroupPurchaseInfoVO.setStartStatus(one.getStartStatus());
         goodsGroupPurchaseInfoVO.setListingStatus(one.getListingStatus());
-        goodsGroupPurchaseInfoVO.setGroupStatus(one.getGroupStatus());
 
         LambdaQueryWrapper<MemberGoodsCollection> wrapper4= Wrappers.lambdaQuery();
         wrapper4.eq(MemberGoodsCollection::getDelFlag,0);
@@ -342,7 +344,17 @@
         if (data!=null){
             goodsGroupPurchaseInfoVO.setIsGoodsGroupPurchase(2);
             goodsGroupPurchaseInfoVO.setOrder(data);
+            goodsGroupPurchaseInfoVO.setGroupStatus(GroupStatusEnum.YCT_FAILURE);
         }else{
+            if (one.getGroupStatus().getCode()==0){
+                if (one.getGroupSize()-one.getCurrentNumber()<5){
+                    goodsGroupPurchaseInfoVO.setGroupStatus(GroupStatusEnum.MS_FAILURE);
+                }else{
+                    goodsGroupPurchaseInfoVO.setGroupStatus(one.getGroupStatus());
+                }
+            }else {
+                goodsGroupPurchaseInfoVO.setGroupStatus(one.getGroupStatus());
+            }
             goodsGroupPurchaseInfoVO.setIsGoodsGroupPurchase(1);
         }
 
@@ -395,11 +407,28 @@
         List<Long> goodsSkuIdList = data.stream()
                 .map(OrderVO::getGoodsSkuId)
                 .collect(Collectors.toList());
+
+        LambdaQueryWrapper< GoodsSku> wrapper1= Wrappers.lambdaQuery();
+        if (homeGoodsSkuDTO.getSkuName()!=null&&homeGoodsSkuDTO.getSkuName()!=""){
+            wrapper1.like(GoodsSku::getSkuName,homeGoodsSkuDTO.getSkuName());
+        }
+        List<GoodsSku> list = goodsSkuService.list(wrapper1);
+
+        List<Long> goodsSkuIdList1 = list.stream()
+                .map(GoodsSku::getId)
+                .collect(Collectors.toList());
+
         Page<GoodsGroupPurchase> page = new Page<>(homeGoodsSkuDTO.getPageCurr(), homeGoodsSkuDTO.getPageSize());
         LambdaQueryWrapper< GoodsGroupPurchase> wrapper= Wrappers.lambdaQuery();
-        if (homeGoodsSkuDTO.getSkuName()!=null){
+        if (goodsSkuIdList.size()>0){
             wrapper.in(GoodsGroupPurchase::getId,goodsSkuIdList);
         }
+        if (goodsSkuIdList1.size()>0){
+            wrapper.in(GoodsGroupPurchase::getGoodsSkuId,goodsSkuIdList1);
+        }else {
+            goodsSkuIdList1.add(0L);
+            wrapper.in(GoodsGroupPurchase::getGoodsSkuId,goodsSkuIdList1);
+        }
         wrapper.eq(GoodsGroupPurchase::getListingStatus,0);
         wrapper.eq( GoodsGroupPurchase::getDelFlag,0);
         Page< GoodsGroupPurchase> page1 = this.page(page, wrapper);

--
Gitblit v1.7.1