From 7106d8205f0af944a34b880405c1b33effcc5393 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期五, 19 七月 2024 22:06:33 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java |   38 +++++++++++++++++---------------------
 1 files changed, 17 insertions(+), 21 deletions(-)

diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
index efd67d1..a0dce86 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -19,6 +19,7 @@
 import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.core.utils.page.BeanUtils;
+import com.ruoyi.common.core.utils.page.CollUtils;
 import com.ruoyi.common.core.utils.page.PageDTO;
 import com.ruoyi.common.redis.service.RedisService;
 import com.ruoyi.order.controller.management.dto.MgtOrderConfirmShipmentDTO;
@@ -1504,38 +1505,33 @@
     @Override
     public void refundBond(Long id) {
         Order order = getOrder(id);
-        OrderAuctionBond orderAuctionBond;
+        List<OrderAuctionBond> orderAuctionBond;
         if (order.getAuctionOrderType() == AuctionOrderTypeEnum.AUCTION_ITEMS) {
-            orderAuctionBond = orderAuctionBondMapper.selectOne(
+            orderAuctionBond = orderAuctionBondMapper.selectList(
                     Wrappers.lambdaQuery(OrderAuctionBond.class)
                             .eq(OrderAuctionBond::getAuctionSalesroomId,
                                     order.getAuctionSalesroomId())
                             .eq(OrderAuctionBond::getBoundStatus, BondStatusEnum.PAID));
-            if (StringUtils.isNotNull(orderAuctionBond)
-                    && orderAuctionBond.getBoundStatus() == BondStatusEnum.REFUNDED) {
-                throw new ServiceException("改拍卖会已退保证金");
-            }
         } else {
-            orderAuctionBond = orderAuctionBondMapper.selectOne(
+            orderAuctionBond = orderAuctionBondMapper.selectList(
                     Wrappers.lambdaQuery(OrderAuctionBond.class)
                             .eq(OrderAuctionBond::getAuctionGoodsId,
                                     order.getGoodsSkuId())
                             .eq(OrderAuctionBond::getBoundStatus, BondStatusEnum.PAID));
         }
-        Paylog paylog = iPaylogService.lambdaQuery()
-                .eq(Paylog::getOutTradeNo, orderAuctionBond.getOrderNo())
-                .last("limit 1").one();
-        if (StringUtils.isNull(paylog)) {
-            throw new ServiceException("支付记录不存在");
-        }
-        PaymentMethodEnum paymentMethod = orderAuctionBond.getPaymentMethod();
-        if (orderAuctionBond.getBoundStatus() == BondStatusEnum.PAID) {
-            boolean result = handleRefund(paymentMethod, paylog, orderAuctionBond.getOrderNo());
-            if (result) {
-                paylog.setState(3);// 已退款
-                orderAuctionBond.setBoundStatus(BondStatusEnum.REFUNDED);
-                iPaylogService.updateById(paylog);
-                this.updateById(order);
+        if (CollUtils.isNotEmpty(orderAuctionBond)) {
+            for (OrderAuctionBond auctionBond : orderAuctionBond) {
+                Paylog paylog = iPaylogService.lambdaQuery()
+                        .in(Paylog::getOutTradeNo, auctionBond.getOrderNo())
+                        .one();
+                boolean result = handleRefund(auctionBond.getPaymentMethod(), paylog,
+                        auctionBond.getOrderNo());
+                if (result) {
+                    paylog.setState(3);// 已退款
+                    auctionBond.setBoundStatus(BondStatusEnum.REFUNDED);
+                    iPaylogService.updateById(paylog);
+                    this.updateById(order);
+                }
             }
         }
     }

--
Gitblit v1.7.1