From 357bf93f7fa56e414ad54d4fbfbf6bd97da5b1d2 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 26 七月 2024 08:57:54 +0800 Subject: [PATCH] 修改bug --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderReturnRequestServiceImpl.java | 28 +++++++++++++++++++++++++++- 1 files changed, 27 insertions(+), 1 deletions(-) diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderReturnRequestServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderReturnRequestServiceImpl.java index 722e517..2aeea8f 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderReturnRequestServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderReturnRequestServiceImpl.java @@ -40,6 +40,7 @@ import java.time.LocalDateTime; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Set; import java.util.function.Function; import java.util.regex.Matcher; @@ -236,13 +237,38 @@ if (orderReturnRequest.getAuditStatus() != AuditStatusEnum.TO_BE_REVIEWED) { throw new ServiceException("该售后已被审核"); } + Order order = orderMapper.selectById(orderReturnRequest.getOrderId()); if (dto.getAuditStatus() == AuditStatusEnum.PASSED) { - orderReturnRequest.setStatus(ReturnRequestStatusEnum.TO_BE_RETURNED); + if (orderReturnRequest.getRequestType() + .equals(RequestTypeEnum.REFUNDS_AND_RETURNS)) { + orderReturnRequest.setStatus(ReturnRequestStatusEnum.TO_BE_RETURNED); + } else { + orderReturnRequest.setStatus(ReturnRequestStatusEnum.COMPLETED); + + if (Objects.nonNull(order)) { + Paylog paylog = paylogService.lambdaQuery() + .eq(Paylog::getOutTradeNo, order.getOrderNo()) + .last("limit 1").one(); + if (StringUtils.isNotNull(paylog)) { + PaymentMethodEnum paymentMethod = order.getPaymentMethod(); + boolean result = handleRefund(paymentMethod, paylog, + paylog.getOutTradeNo()); + if (result) { + paylog.setState(3);// 已退款 + paylogService.updateById(paylog); + } + } + } + } orderReturnRequest.setAuditStatus(AuditStatusEnum.PASSED); } else { orderReturnRequest.setStatus(ReturnRequestStatusEnum.REJECTED); orderReturnRequest.setAuditStatus(AuditStatusEnum.REJECTED); orderReturnRequest.setRefuseReason(dto.getRefuseComment()); + if (Objects.nonNull(order)) { + order.setIsRequest(1); + orderMapper.updateById(order); + } } orderReturnRequest.setAuditTime(LocalDateTime.now()); this.updateById(orderReturnRequest); -- Gitblit v1.7.1