From fb3588c565077f40cff27d10e656608677cf32ca Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Thu, 17 Aug 2023 15:05:01 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E9=87=8D=E8=AF=95=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E9=80=80=E6=AC=BE=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/enums/ykc/ReturnCodeEnum.java | 1 + .../impl/OrderBasicInfoServiceImpl.java | 20 ++++++++++++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java b/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java index 47154ef70..d45a465aa 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java +++ b/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java @@ -112,6 +112,7 @@ public enum ReturnCodeEnum { CODE_ADAPAY_CONFIG_IS_NULL_ERROR("00100052", "获取支付配置信息异常"), + CODE_ORDER_HAS_BEEN_REFUNDED("00100053", "订单已退款,请等待收单机构原路返回,交易将在1-3个工作日完成,感谢您的理解"), /* 个人桩 start */ diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index 1e08d5bdb..7dd1b3f44 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -2761,10 +2761,13 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { // 发送启动指令 pileRemoteService.remoteStartCharging(pileSn, orderInfo.getConnectorCode(), orderInfo.getTransactionCode(), orderInfo.getPayAmount()); } - - } + /** + * 重试订单退款 + * @param orderCode 订单编号 + * @throws BaseAdaPayException + */ @Override public void retryRefundOrder(String orderCode) throws BaseAdaPayException { // 查询订单信息 @@ -2775,7 +2778,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { // 如果该订单是订单完成状态,并且是微信支付 存在需要退款金额,则进行后续操作 String orderStatus = orderBasicInfo.getOrderStatus(); if (!StringUtils.equals(orderStatus, OrderStatusEnum.ORDER_COMPLETE.getValue())) { - throw new BusinessException("", "订单不是完成状态"); + throw new BusinessException("", "订单状态不是完成状态"); } String payMode = orderBasicInfo.getPayMode(); if (!StringUtils.equals(payMode, OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue())) { @@ -2802,6 +2805,17 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { paymentId, refundAmount, wechatAppId, memberId, ScenarioEnum.ORDER.getValue(), orderCode); logger.info("重试订单退款response:{}", JSON.toJSONString(response)); + } else { + BigDecimal reversedAmt = BigDecimal.ZERO; + for (PaymentReverseResponse paymentRevers : paymentReverses) { + if (new BigDecimal(paymentRevers.getReversed_amt()).compareTo(reversedAmt) > 0) { + reversedAmt = new BigDecimal(paymentRevers.getReversed_amt()); + } + } + // 如果历史撤销金额 等于 订单退款金额,则提示已经退款请耐心等待 + if (reversedAmt.compareTo(refundAmount) == 0) { + throw new BusinessException(ReturnCodeEnum.CODE_ORDER_HAS_BEEN_REFUNDED); + } } }