update 重试订单退款接口

This commit is contained in:
2023-08-17 15:05:01 +08:00
parent 205cdce2be
commit fb3588c565
2 changed files with 18 additions and 3 deletions

View File

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