This commit is contained in:
2023-12-28 10:16:52 +08:00
parent 65d42c0cc9
commit e630322a0a

View File

@@ -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<OrderDetailInfoVO.OrderRefundInfo> orderRefundInfoList = orderLogic.getOrderRefundInfoList(orderBasicInfo);
// 获取appId
String wechatAppId = pileMerchantInfoService.queryAppIdByMerchantId(orderBasicInfo.getMerchantId());
// 通过支付id查询退款记录
String paymentId = adapayCallbackRecord.getPaymentId();
List<PaymentReverseResponse> 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());
}
}
// 如果历史撤销金额 等于 订单退款金额,则提示已经退款请耐心等待