From 3517c715054ff2a8a3b69347892a7c1ec677ac2f Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期二, 11 三月 2025 10:48:36 +0800
Subject: [PATCH] 拍卖结果弹窗消息

---
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java |   16 +++++++++++++---
 1 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java
index 5fe61eb..44cb11b 100644
--- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java
+++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java
@@ -569,13 +569,15 @@
                             .equals(BidStatusEnum.SUCCESSFUL))
                     .map(AuctionBidRecord::getMemberId)
                     .collect(Collectors.toList());
+            Map<Long, Long> bidMap = auctionBidRecordList.stream().collect(
+                    Collectors.toMap(AuctionBidRecord::getMemberId, AuctionBidRecord::getId));
             if (CollUtils.isNotEmpty(successMemberIdList)) {
                 List<Member> successMemberList = memberClient.getMemberListByIds(
                         successMemberIdList, SecurityConstants.INNER).getData();
                 if (CollUtils.isNotEmpty(successMemberList)) {
                     // 推送websocket消息
                     sendWebsocketMsg(auctionSalesroomGoods.getId(), successMemberList, goodsSku, 1,
-                            orderIdMap);
+                            orderIdMap, bidMap);
                     // 发送短信通知
                     List<String> mobileList = successMemberList.stream().map(Member::getPhone)
                             .collect(Collectors.toList());
@@ -590,7 +592,7 @@
                 if (CollUtils.isNotEmpty(failedMemberList)) {
                     // 推送websocket消息
                     sendWebsocketMsg(auctionSalesroomGoods.getId(), failedMemberList, goodsSku, 0,
-                            orderIdMap);
+                            orderIdMap, bidMap);
                     // 发送短信通知
                     List<String> mobileList = failedMemberList.stream().map(Member::getPhone)
                             .collect(Collectors.toList());
@@ -630,7 +632,7 @@
      * @param successFlag // 中标状态 1:中标 0:未中标
      */
     private void sendWebsocketMsg(Long id, List<Member> memberList, GoodsSku goodsSku,
-            Integer successFlag, Map<Long, String> userIdMap) {
+            Integer successFlag, Map<Long, String> userIdMap, Map<Long, Long> bidMap) {
         for (Member member : memberList) {
             Map<String, Object> map = new ConcurrentHashMap<>();
             map.put("notification_type", NotificationTypeConstant.AUCTION_POPUP);
@@ -639,6 +641,7 @@
             map.put("goods_name", Objects.nonNull(goodsSku) ? goodsSku.getSkuName() : "");
             map.put("success_flag", successFlag);
             map.put("order_id", successFlag == 1 ? userIdMap.getOrDefault(member.getId(), "") : "");
+            map.put("auction_bid_record_id", bidMap.getOrDefault(member.getId(), 0L));
             String msg = JSONObject.toJSONString(map);
             sysUserClient.pushBatch(
                     WebsocketMessageDTO.builder().message(msg).userId(member.getUserId()).build(),
@@ -895,5 +898,12 @@
         return orderClient.saveOrderOne(order, SecurityConstants.INNER).getData();
     }
 
+    /**
+     * 设置弹窗状态已弹出
+     * @param id
+     */
+    @Override
+    public void setPopup(Long id) {
 
+    }
 }

--
Gitblit v1.7.1