From c5f7cdfaf69deb6fb3bb4a8379beb0e9bbe0f3c0 Mon Sep 17 00:00:00 2001
From: rentaiming <806181062@qq.com>
Date: 星期五, 31 五月 2024 16:28:12 +0800
Subject: [PATCH] 修改循环注入

---
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java |  100 ++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 89 insertions(+), 11 deletions(-)

diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java
index 527a996..dd17481 100644
--- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java
+++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java
@@ -30,6 +30,7 @@
 import com.ruoyi.auction.domain.AuctionBidRecord;
 import com.ruoyi.auction.domain.AuctionSalesroomGoods;
 import com.ruoyi.auction.domain.AuctionVideo;
+import com.ruoyi.auction.mapper.AuctionBidRecordMapper;
 import com.ruoyi.auction.mapper.AuctionSalesroomGoodsMapper;
 import com.ruoyi.auction.mapper.AuctionSalesroomMapper;
 import com.ruoyi.auction.service.*;
@@ -40,6 +41,7 @@
 import com.ruoyi.common.core.enums.AuctionOrderTypeEnum;
 import com.ruoyi.common.core.enums.AuctionStartStatusEnum;
 import com.ruoyi.common.core.enums.BidStatusEnum;
+import com.ruoyi.common.core.enums.BondStatusEnum;
 import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.common.core.utils.IDhelper;
 import com.ruoyi.common.core.utils.StringUtils;
@@ -54,12 +56,7 @@
 import com.ruoyi.system.api.domain.Member;
 import com.ruoyi.system.api.domain.OrderAuctionBond;
 import com.ruoyi.system.api.domain.SysUser;
-import com.ruoyi.system.api.domain.dto.AppMiniLoginDTO;
-import com.ruoyi.system.api.domain.dto.BidDTO;
-import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO;
-import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomBondDTO;
-import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomDTO;
-import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomWdDTO;
+import com.ruoyi.system.api.domain.dto.*;
 import com.ruoyi.system.api.domain.vo.PayInfoVO;
 import com.ruoyi.system.api.domain.vo.WdMemberAuctionSalesroomVO;
 import com.ruoyi.system.api.feignClient.GoodsSkuClient;
@@ -69,11 +66,7 @@
 import io.seata.spring.annotation.GlobalTransactional;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 import javax.annotation.Resource;
@@ -133,6 +126,9 @@
     private static final String WX_APPID = "wxb7f0ea286fc4e535";
 
     private static final String WX_SECRET = "852a2512a6ab559cafc68bae5d4160ac";
+
+    @Resource
+    private AuctionBidRecordMapper auctionBidRecordMapper;
 
 
     //支付寶
@@ -425,6 +421,88 @@
     }
 
     @Override
+    public void CancelSignUpNow(MemberAuctionSalesroomBondDTO memberAuctionSalesroomBondDTO) {
+        if (memberAuctionSalesroomBondDTO.getBondType()==2){
+            OrderAuctionBond orderAuctionBond = orderClient.getOrderAuctionBondone(memberAuctionSalesroomBondDTO, SecurityConstants.INNER).getData();
+
+            List<RefundDTO> refundDTOList = new ArrayList<>();
+            RefundDTO refundDTO = new RefundDTO();
+            refundDTO.setOrderNo(orderAuctionBond.getOrderNo());
+            refundDTO.setAmount(orderAuctionBond.getBond());
+
+            LambdaQueryWrapper<AuctionBidRecord> wrapper = Wrappers.lambdaQuery();
+            wrapper.eq(AuctionBidRecord::getAuctionSalesroomId,memberAuctionSalesroomBondDTO.getAuctionSalesroomId());
+            wrapper.eq(AuctionBidRecord::getAuctionType,2);
+            wrapper.eq(AuctionBidRecord::getStatus,BidStatusEnum.SUCCESSFUL);
+            wrapper.eq(AuctionBidRecord::getDelFlag, 0);
+            AuctionBidRecord auctionBidRecord = auctionBidRecordMapper.selectOne(wrapper);
+            if (auctionBidRecord!=null){
+                throw new ServiceException("当前拍卖场中标拍品订单未完成,请完成后再试。");
+            }
+
+
+            // 远程调用订单服务进行退款
+                Map<String, Object> data = orderClient.refund(refundDTOList,
+                        SecurityConstants.INNER).getData();
+                // 处理退款返回结果
+                List<String> successfulOrders = new ArrayList<>();
+                List<String> failedOrders = new ArrayList<>();
+
+                data.forEach((key, value) -> {
+                    if ((boolean) value) {
+                        successfulOrders.add(key);
+                    } else {
+                        failedOrders.add(key);
+                    }
+                });
+                // 退款成功的订单修改状态
+                List<Long> ids = new ArrayList<>();
+                ids.add(orderAuctionBond.getId());
+                // 远程调用订单服务修改订单状态
+                orderClient.updateOrderAuctionBondStatus(ids, BondStatusEnum.PAID);
+
+        }else{
+            OrderAuctionBond orderAuctionBond = orderClient.getOrderAuctionBondone1(memberAuctionSalesroomBondDTO, SecurityConstants.INNER).getData();
+            List<RefundDTO> refundDTOList = new ArrayList<>();
+            RefundDTO refundDTO = new RefundDTO();
+            refundDTO.setOrderNo(orderAuctionBond.getOrderNo());
+            refundDTO.setAmount(orderAuctionBond.getBond());
+
+            LambdaQueryWrapper<AuctionBidRecord> wrapper = Wrappers.lambdaQuery();
+            wrapper.eq(AuctionBidRecord::getTargetId, memberAuctionSalesroomBondDTO.getAuctionGoodsId());
+            wrapper.eq(AuctionBidRecord::getAuctionType,1);
+            wrapper.eq(AuctionBidRecord::getStatus,BidStatusEnum.SUCCESSFUL);
+            wrapper.eq(AuctionBidRecord::getDelFlag, 0);
+            AuctionBidRecord auctionBidRecord = auctionBidRecordMapper.selectOne(wrapper);
+            if (auctionBidRecord!=null){
+                throw new ServiceException("当前拍卖场中标拍品订单未完成,请完成后再试。");
+            }
+
+            // 远程调用订单服务进行退款
+            Map<String, Object> data = orderClient.refund(refundDTOList,
+                    SecurityConstants.INNER).getData();
+            // 处理退款返回结果
+            List<String> successfulOrders = new ArrayList<>();
+            List<String> failedOrders = new ArrayList<>();
+
+            data.forEach((key, value) -> {
+                if ((boolean) value) {
+                    successfulOrders.add(key);
+                } else {
+                    failedOrders.add(key);
+                }
+            });
+            // 退款成功的订单修改状态
+            List<Long> ids = new ArrayList<>();
+            ids.add(orderAuctionBond.getId());
+            // 远程调用订单服务修改订单状态
+            orderClient.updateOrderAuctionBondStatus(ids, BondStatusEnum.PAID);
+        }
+
+
+    }
+
+    @Override
     public void SaveBid(BidDTO bidVO) {
         Member membeOne = memberClient.getMembeOne(bidVO.getMemberId(), SecurityConstants.INNER).getData();
         if (bidVO.getAuctionType()==2){

--
Gitblit v1.7.1