| | |
| | | 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; |
| | |
| | | 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); |