From 884f5c68ac8c738f90f1ca257605cfbb5d7f12db Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期三, 26 六月 2024 09:09:27 +0800
Subject: [PATCH] 提交【管理后台】-工作台接口

---
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java |   42 +++++++++++++++++++++++++++++++-----------
 1 files changed, 31 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 38dc737..ca40629 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
@@ -14,6 +14,7 @@
 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;
 import com.ruoyi.common.core.utils.page.BeanUtils;
 import com.ruoyi.common.core.utils.page.PageDTO;
@@ -21,15 +22,18 @@
 import com.ruoyi.goods.controller.management.dto.GoodsGroupPurchaseDTO;
 import com.ruoyi.goods.controller.management.dto.GoodsGroupPurchaseQuery;
 import com.ruoyi.goods.controller.management.vo.GoodsGroupPurchaseVO;
+import com.ruoyi.goods.domain.MemberGoodsCollection;
 import com.ruoyi.goods.mapper.GoodsGroupPurchaseMapper;
 import com.ruoyi.goods.service.IGoodsGroupPurchaseService;
 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.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;
@@ -38,14 +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 java.time.LocalDateTime;
+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;
@@ -63,11 +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;
+    private final IMemberGoodsCollectionService iMemberGoodsCollectionService;
+    private final SysUserClient sysUserClient;
     // 创建一个静态共享的ObjectMapper实例以重用
     private static final ObjectMapper objectMapper = new ObjectMapper();
     /**
@@ -207,11 +210,13 @@
                     .eq(GoodsGroupPurchase::getId, groupPurchaseId).update();
             Map<String, Object> map = new ConcurrentHashMap<>();
             map.put("notification_type", NotificationTypeConstant.GROUP_PURCHASE);
-            map.put("notification_time", LocalDateTime.now());
+            map.put("notification_time", DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:ss"));
             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);
         }
     }
@@ -231,11 +236,12 @@
                     .eq(GoodsGroupPurchase::getId, groupPurchaseId).update();
             Map<String, Object> map = new ConcurrentHashMap<>();
             map.put("notification_type", NotificationTypeConstant.GROUP_PURCHASE);
-            map.put("notification_time", LocalDateTime.now());
+            map.put("notification_time", DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:ss"));
             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);
         }
     }
@@ -319,7 +325,21 @@
         goodsGroupPurchaseInfoVO.setListingStatus(one.getListingStatus());
         goodsGroupPurchaseInfoVO.setGroupStatus(one.getGroupStatus());
 
-        Order data = orderClient.getOrderByGroupPurchaseMemberId(homeGoodsSkuDTO, SecurityConstants.INNER).getData();
+        LambdaQueryWrapper<MemberGoodsCollection> wrapper4= Wrappers.lambdaQuery();
+        wrapper4.eq(MemberGoodsCollection::getDelFlag,0);
+        wrapper4.eq(MemberGoodsCollection::getMemberId,homeGoodsSkuDTO.getMemberId());
+        wrapper4.eq(MemberGoodsCollection::getTargetId,one.getId());
+        wrapper4.eq(MemberGoodsCollection::getType,1);
+        List<MemberGoodsCollection> list = iMemberGoodsCollectionService.list(wrapper4);
+        if (list.size()>0){
+            goodsGroupPurchaseInfoVO.setIsCollection(2);
+        }else{
+            goodsGroupPurchaseInfoVO.setIsCollection(1);
+        }
+        HomeGoodsSkuDTO homeGoodsSkuDTO1=new HomeGoodsSkuDTO();
+        homeGoodsSkuDTO1.setGoodsSkuId(one.getId());
+        homeGoodsSkuDTO1.setMemberId(homeGoodsSkuDTO.getMemberId());
+        Order data = orderClient.getOrderByGroupPurchaseMemberId(homeGoodsSkuDTO1, SecurityConstants.INNER).getData();
         if (data!=null){
             goodsGroupPurchaseInfoVO.setIsGoodsGroupPurchase(2);
             goodsGroupPurchaseInfoVO.setOrder(data);
@@ -378,7 +398,7 @@
                 .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);
         }
         wrapper.eq(GoodsGroupPurchase::getListingStatus,0);

--
Gitblit v1.7.1