mitao
2025-03-12 7a92c0228a9b282e4b3cb2ae4a0035cec34feb67
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)