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 5caeac61b..90c9a4766 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 @@ -3132,17 +3132,14 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { String memberId = orderBasicInfo.getMemberId(); BigDecimal refundAmount = orderBasicInfo.getRefundAmount(); - // 查到原汇付支付id - AdapayCallbackRecord adapayCallbackRecord = selectAdapayCallbackRecord(orderCode); + // 新逻辑 + String mode = pileMerchantInfoService.getDelayModeByMerchantId(orderBasicInfo.getMerchantId()); + AbstractProgramLogic orderLogic = ProgramLogicFactory.getProgramLogic(mode); + List orderRefundInfoList = orderLogic.getOrderRefundInfoList(orderBasicInfo); - // 获取appId - String wechatAppId = pileMerchantInfoService.queryAppIdByMerchantId(orderBasicInfo.getMerchantId()); - - // 通过支付id查询退款记录 - String paymentId = adapayCallbackRecord.getPaymentId(); - - List paymentReverses = queryOrderAdapayRefund(orderBasicInfo); - if (CollectionUtils.isEmpty(paymentReverses)) { + if (CollectionUtils.isEmpty(orderRefundInfoList)) { + // 获取appId + String wechatAppId = pileMerchantInfoService.queryAppIdByMerchantId(orderBasicInfo.getMerchantId()); // 如果没有退款过,重新执行一遍退款 ApplyRefundDTO applyRefundDTO = new ApplyRefundDTO(); applyRefundDTO.setOrderCode(orderCode); @@ -3154,9 +3151,9 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { // 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()); + for (OrderDetailInfoVO.OrderRefundInfo orderRefundInfo : orderRefundInfoList) { + if (new BigDecimal(orderRefundInfo.getReverseAmt()).compareTo(reversedAmt) > 0) { + reversedAmt = new BigDecimal(orderRefundInfo.getReverseAmt()); } } // 如果历史撤销金额 等于 订单退款金额,则提示已经退款请耐心等待