From 7a92c0228a9b282e4b3cb2ae4a0035cec34feb67 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期三, 12 三月 2025 18:12:31 +0800
Subject: [PATCH] bug修改

---
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java |   18 +++++++++++++-----
 1 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java
index 8924c2b..0817293 100644
--- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java
+++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java
@@ -413,6 +413,9 @@
                 }
                 // 更新出价记录
                 auctionBidRecordService.updateBatchById(auctionBidRecordList);
+                Map<Long, String> bidMap = auctionBidRecordList.stream().collect(
+                        Collectors.toMap(AuctionBidRecord::getMemberId,
+                                item -> item.getId().toString()));
                 List<Long> successMemberIdList = auctionBidRecords.stream()
                         .filter(auctionBidRecord -> auctionBidRecord.getStatus()
                                 .equals(BidStatusEnum.SUCCESSFUL))
@@ -428,7 +431,7 @@
                             successMemberIdList, SecurityConstants.INNER).getData();
                     if (CollUtils.isNotEmpty(successMemberList)) {
                         // 推送websocket消息
-                        sendWebsocketMsg(id, successMemberList, goodsSku, 1, orderIdMap);
+                        sendWebsocketMsg(id, successMemberList, goodsSku, 1, orderIdMap, bidMap);
                         // 发送短信通知
                         List<String> mobileList = successMemberList.stream().map(Member::getPhone)
                                 .collect(Collectors.toList());
@@ -442,7 +445,7 @@
                             failedMemberIdList, SecurityConstants.INNER).getData();
                     if (CollUtils.isNotEmpty(failedMemberList)) {
                         // 推送websocket消息
-                        sendWebsocketMsg(id, failedMemberList, goodsSku, 0, orderIdMap);
+                        sendWebsocketMsg(id, failedMemberList, goodsSku, 0, orderIdMap, bidMap);
                         // 发送短信通知
                         List<String> mobileList = failedMemberList.stream().map(Member::getPhone)
                                 .collect(Collectors.toList());
@@ -523,7 +526,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, String> bidMap) {
         for (Member member : memberList) {
             Map<String, Object> map = new ConcurrentHashMap<>();
             map.put("notification_type", NotificationTypeConstant.AUCTION_POPUP);
@@ -532,6 +535,7 @@
             map.put("goods_name", 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(), "0"));
             String msg = JSONObject.toJSONString(map);
             sysUserClient.pushBatch(
                     WebsocketMessageDTO.builder().message(msg).userId(member.getUserId()).build(),
@@ -917,6 +921,9 @@
                     }
                     // 更新出价记录
                     auctionBidRecordService.updateBatchById(auctionBidRecordList);
+                    Map<Long, String> bidMap = auctionBidRecordList.stream().collect(
+                            Collectors.toMap(AuctionBidRecord::getMemberId,
+                                    item -> item.getId().toString()));
                     List<Long> successMemberIdList = auctionBidRecords.stream()
                             .filter(auctionBidRecord -> auctionBidRecord.getStatus()
                                     .equals(BidStatusEnum.SUCCESSFUL))
@@ -932,7 +939,8 @@
                                 successMemberIdList, SecurityConstants.INNER).getData();
                         if (CollUtils.isNotEmpty(successMemberList)) {
                             // 推送websocket消息
-                            sendWebsocketMsg(id, successMemberList, goodsSku, 1, orderIdMap);
+                            sendWebsocketMsg(id, successMemberList, goodsSku, 1, orderIdMap,
+                                    bidMap);
                             // 发送短信通知
                             List<String> mobileList = successMemberList.stream()
                                     .map(Member::getPhone)
@@ -948,7 +956,7 @@
                                 failedMemberIdList, SecurityConstants.INNER).getData();
                         if (CollUtils.isNotEmpty(failedMemberList)) {
                             // 推送websocket消息
-                            sendWebsocketMsg(id, failedMemberList, goodsSku, 0, orderIdMap);
+                            sendWebsocketMsg(id, failedMemberList, goodsSku, 0, orderIdMap, bidMap);
                             // 发送短信通知
                             List<String> mobileList = failedMemberList.stream()
                                     .map(Member::getPhone)

--
Gitblit v1.7.1