From d5cd5518fb4c9ec771dbf3d8db691fef36d18a45 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期五, 31 五月 2024 17:47:38 +0800
Subject: [PATCH] 提交【管理后台】-拍卖场管理相关接口

---
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 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 ffe3bfc..1991a32 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
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.google.common.collect.Lists;
 import com.ruoyi.common.core.constant.SecurityConstants;
 import com.ruoyi.common.core.enums.GroupStatusEnum;
 import com.ruoyi.common.core.enums.ListingStatusEnum;
@@ -119,7 +120,7 @@
                     .ge(GoodsSku::getStock, latestStock)
                     .eq(GoodsSku::getId, goodsSku.getId());
             this.updateById(goodsGroupPurchase);
-            asyncMethodService.groupPurchaseScheduleTask(goodsGroupPurchase);
+            asyncMethodService.groupPurchaseScheduleTask(Lists.newArrayList(goodsGroupPurchase));
         }
     }
 
@@ -180,12 +181,15 @@
     public void startGroupPurchase(Long groupPurchaseId) throws JsonProcessingException {
         log.info(">>>>>>>>>>>>>>>>>>>>{}团购商品开始团购<<<<<<<<<<<<<<<<<<<<", groupPurchaseId);
         GoodsGroupPurchase groupPurchase = this.getById(groupPurchaseId);
-        if (StringUtils.isNotNull(groupPurchase)) {
+        if (StringUtils.isNotNull(groupPurchase) && groupPurchase.getStartStatus()
+                .equals(StartStatusEnum.NOT_STARTED) && groupPurchase.getListingStatus()
+                .equals(ListingStatusEnum.ON_SHELVES)) {
             this.lambdaUpdate().set(GoodsGroupPurchase::getStartStatus, StartStatusEnum.STARTED)
                     .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("target_id", groupPurchaseId);
             map.put("message_type", "start");
             String msg = objectMapper.writeValueAsString(map);
             WebSocketUsers.sendMessageToUsersByText(msg);
@@ -202,12 +206,14 @@
     public void endGroupPurchase(Long groupPurchaseId) throws JsonProcessingException {
         log.info(">>>>>>>>>>>>>>>>>>>>{}团购商品结束团购<<<<<<<<<<<<<<<<<<<<", groupPurchaseId);
         GoodsGroupPurchase groupPurchase = this.getById(groupPurchaseId);
-        if (StringUtils.isNotNull(groupPurchase)) {
+        if (StringUtils.isNotNull(groupPurchase) && groupPurchase.getStartStatus()
+                .equals(StartStatusEnum.STARTED)) {
             this.lambdaUpdate().set(GoodsGroupPurchase::getStartStatus, StartStatusEnum.ENDED)
                     .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("target_id", groupPurchaseId);
             map.put("message_type", "end");
             String msg = objectMapper.writeValueAsString(map);
             WebSocketUsers.sendMessageToUsersByText(msg);

--
Gitblit v1.7.1