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/AuctionSalesroomGoodsServiceImpl.java |   18 ++++++++++--------
 1 files changed, 10 insertions(+), 8 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 736f643..df88f87 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
@@ -554,7 +554,8 @@
                         auctionBidRecord.setStatus(BidStatusEnum.SUCCESSFUL);
                         Long orderId = AddOrder(auctionBidRecord.getTargetId(),
                                 auctionBidRecord.getMemberId(),
-                                auctionBidRecord.getLastBidAmount(), auctionSalesroom.getBond(), 1);
+                                auctionBidRecord.getLastBidAmount(), auctionSalesroom.getBond(),
+                                auctionSalesroomGoods.getDealQuantity());
                         if (Objects.nonNull(orderId)) {
                             orderIdMap.put(auctionBidRecord.getMemberId(), orderId.toString());
                             auctionBidRecord.setOrderId(orderId);
@@ -575,8 +576,9 @@
                             .equals(BidStatusEnum.SUCCESSFUL))
                     .map(AuctionBidRecord::getMemberId)
                     .collect(Collectors.toList());
-            Map<Long, Long> bidMap = auctionBidRecordList.stream().collect(
-                    Collectors.toMap(AuctionBidRecord::getMemberId, AuctionBidRecord::getId));
+            Map<Long, String> bidMap = auctionBidRecordList.stream().collect(
+                    Collectors.toMap(AuctionBidRecord::getMemberId,
+                            item -> item.getId().toString()));
             if (CollUtils.isNotEmpty(successMemberIdList)) {
                 List<Member> successMemberList = memberClient.getMemberListByIds(
                         successMemberIdList, SecurityConstants.INNER).getData();
@@ -638,7 +640,7 @@
      * @param successFlag // 中标状态 1:中标 0:未中标
      */
     private void sendWebsocketMsg(Long id, List<Member> memberList, GoodsSku goodsSku,
-            Integer successFlag, Map<Long, String> userIdMap, Map<Long, Long> bidMap) {
+            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);
@@ -647,7 +649,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));
+            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(),
@@ -860,7 +862,7 @@
 
 
     public Long AddOrder(Long goodsSkuId, Long memberId, BigDecimal lastBidAmount,
-            BigDecimal bound, Integer goodsQuantity) {
+            BigDecimal bound, Integer dealQuantity) {
         OrderDTO order=new OrderDTO();
         order.setGoodsSkuId(goodsSkuId);
         order.setOrderTime(LocalDateTime.now());
@@ -868,8 +870,8 @@
         order.setMemberId(memberId);
         AuctionSalesroomGoods auctionSalesroomGoods = this.getById(goodsSkuId);
 
-        order.setGoodsQuantity(goodsQuantity);
-        order.setTotalAmount(lastBidAmount);
+        order.setGoodsQuantity(dealQuantity);
+        order.setTotalAmount(lastBidAmount.multiply(new BigDecimal(dealQuantity)));
         order.setAuctionSalesroomId(auctionSalesroomGoods.getAuctionSalesroomId());
 
         R<MemberAddress> memberAddressR = memberClient.getMemberAddressOne(memberId,

--
Gitblit v1.7.1