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