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/controller/forepart/ForepartAuctionSalesroomController.java      |    8 ++
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/OrderClient.java                                   |    8 ++
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java               |    1 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/inner/InnerOrderAuctionBondController.java                |   36 +++++++++--
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomService.java                            |    2 
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionSalesroomGoodsController.java |    2 
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java                    |  100 +++++++++++++++++++++++++++++---
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/OrderFallbackFactory.java                              |    9 +++
 8 files changed, 147 insertions(+), 19 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/OrderFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/OrderFallbackFactory.java
index 1d66ebb..db3c93c 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/OrderFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/OrderFallbackFactory.java
@@ -58,6 +58,15 @@
                 return R.fail("获取保证金订单列表失败:" + cause.getMessage());
             }
 
+            @Override
+            public R<OrderAuctionBond> getOrderAuctionBondone(MemberAuctionSalesroomBondDTO memberAuctionSalesroomBondDTO, String source) {
+                return R.fail("获取保证金订单失败" + cause.getMessage());
+            }
+
+            @Override
+            public R<OrderAuctionBond> getOrderAuctionBondone1(MemberAuctionSalesroomBondDTO memberAuctionSalesroomBondDTO, String source) {
+                return R.fail("获取保证金订单失败" + cause.getMessage());
+            }
 
             @Override
             public R<Map<String, Object>> refund(List<RefundDTO> refundDTOS, String source) {
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/OrderClient.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/OrderClient.java
index bdec9d5..c0b965c 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/OrderClient.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/OrderClient.java
@@ -72,6 +72,14 @@
     R<List<OrderAuctionBond>> getOrderAuctionBondList1(@RequestBody MemberAuctionSalesroomDTO memberAuctionSalesroomDTO,
                                                       @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
 
+    @PostMapping("/order-auction-bond/getOrderAuctionBondone")
+    R<OrderAuctionBond> getOrderAuctionBondone(@RequestBody MemberAuctionSalesroomBondDTO memberAuctionSalesroomBondDTO,
+                                                       @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
+
+    @PostMapping("/order-auction-bond/getOrderAuctionBondone1")
+    R<OrderAuctionBond> getOrderAuctionBondone1(@RequestBody MemberAuctionSalesroomBondDTO memberAuctionSalesroomBondDTO,
+                                               @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
+
     /**
      * 批量退款
      *
diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionSalesroomController.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionSalesroomController.java
index b706ca7..db5f444 100644
--- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionSalesroomController.java
+++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionSalesroomController.java
@@ -121,6 +121,14 @@
     }
 
 
+    @RequestMapping("/CancelSignUpNow")
+    @ResponseBody
+    @ApiOperation(value = "用户端-拍卖取消报名")
+    public R CancelSignUpNow(@RequestBody MemberAuctionSalesroomBondDTO memberAuctionSalesroomBondDTO) {
+        iAuctionSalesroomService.CancelSignUpNow(memberAuctionSalesroomBondDTO);
+        return R.ok( );
+    }
+
     /**
      * 拍卖师端拍卖场立即开始
      *
diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionSalesroomGoodsController.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionSalesroomGoodsController.java
index c83f520..444bb4c 100644
--- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionSalesroomGoodsController.java
+++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionSalesroomGoodsController.java
@@ -93,7 +93,7 @@
     @ResponseBody
     @ApiOperation(value = "拍卖师端-拍卖场商品立即结束")
     public R auctionSalesroomGoodsEnd(@RequestBody AuctionSalesroomGoodsDTO auctionSalesroomGoodsDTO) {
-        iAuctionSalesroomGoodsService.auctionSalesroomGoodsStart(auctionSalesroomGoodsDTO);
+        iAuctionSalesroomGoodsService.auctionSalesroomGoodsEnd(auctionSalesroomGoodsDTO);
         return R.ok();
     }
 
diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomService.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomService.java
index 0596e10..495b3bc 100644
--- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomService.java
+++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomService.java
@@ -73,6 +73,8 @@
 
     PayInfoVO SaveSignUpNow(MemberAuctionSalesroomBondDTO memberAuctionSalesroomBondDTO);
 
+   void CancelSignUpNow(@RequestBody MemberAuctionSalesroomBondDTO memberAuctionSalesroomBondDTO);
+
     void SaveBid(@RequestBody BidDTO BidVO);
 
 
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 1d0e3e8..0dbf12e 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
@@ -399,6 +399,7 @@
 
         if (auctionSalesroomGoods.getStatus().getCode()==1) {
             LambdaQueryWrapper<AuctionBidRecord> wrapper = Wrappers.lambdaQuery();
+            wrapper.eq(AuctionBidRecord::getAuctionSalesroomId,auctionSalesroomGoodsDTO.getAuctionSalesroomId());
             wrapper.eq(AuctionBidRecord::getTargetId, auctionSalesroomGoodsDTO.getGoodsSkuId());
             wrapper.eq(AuctionBidRecord::getDelFlag, 0);
             wrapper.orderByDesc(AuctionBidRecord::getLastBidAmount);
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){
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/inner/InnerOrderAuctionBondController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/inner/InnerOrderAuctionBondController.java
index 7e3e869..3a81973 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/inner/InnerOrderAuctionBondController.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/inner/InnerOrderAuctionBondController.java
@@ -3,6 +3,7 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.common.core.constant.SecurityConstants;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.enums.AuctionOrderTypeEnum;
 import com.ruoyi.common.core.enums.BondStatusEnum;
@@ -16,13 +17,7 @@
 
 import com.ruoyi.system.api.domain.vo.PayInfoVO;
 import org.apache.poi.ss.formula.functions.T;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * <p>
@@ -122,7 +117,34 @@
         wrapper.eq(OrderAuctionBond::getDelFlag,0);
         List<OrderAuctionBond> list = iOrderAuctionBondService.list(wrapper);
         return R.ok(list);
+    }
 
+    @InnerAuth
+    @PostMapping("/getOrderAuctionBondone1")
+    @ResponseBody
+    public R<OrderAuctionBond> getOrderAuctionBondone1(@RequestBody MemberAuctionSalesroomBondDTO memberAuctionSalesroomBondDTO) {
+        LambdaQueryWrapper<OrderAuctionBond> wrapper= Wrappers.lambdaQuery();
+        wrapper.eq(OrderAuctionBond::getMemberId,memberAuctionSalesroomBondDTO.getMemberId());
+        wrapper.eq(OrderAuctionBond::getAuctionGoodsId,memberAuctionSalesroomBondDTO.getAuctionGoodsId());
+        wrapper.eq(OrderAuctionBond::getBoundStatus,1);
+        wrapper.eq(OrderAuctionBond::getDelFlag,0);
+        OrderAuctionBond one = iOrderAuctionBondService.getOne(wrapper);
+        return R.ok(one);
+    }
+
+
+    @InnerAuth
+    @PostMapping("/getOrderAuctionBondone")
+    @ResponseBody
+    public R<OrderAuctionBond>  getOrderAuctionBondone(@RequestBody MemberAuctionSalesroomBondDTO memberAuctionSalesroomBondDTO,
+                           @RequestHeader(SecurityConstants.FROM_SOURCE) String source){
+        LambdaQueryWrapper<OrderAuctionBond> wrapper= Wrappers.lambdaQuery();
+        wrapper.eq(OrderAuctionBond::getMemberId,memberAuctionSalesroomBondDTO.getMemberId());
+        wrapper.eq(OrderAuctionBond::getAuctionSalesroomId,memberAuctionSalesroomBondDTO.getAuctionSalesroomId());
+        wrapper.eq(OrderAuctionBond::getBoundStatus,2);
+        wrapper.eq(OrderAuctionBond::getDelFlag,0);
+        OrderAuctionBond one = iOrderAuctionBondService.getOne(wrapper);
+        return R.ok(one);
     }
 
     @InnerAuth

--
Gitblit v1.7.1