mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 19:15:35 +08:00
交易分账 重构
This commit is contained in:
@@ -109,7 +109,7 @@ public class MemberAdapayRecordServiceImpl implements MemberAdapayRecordService
|
||||
|
||||
/**
|
||||
* 从冻结金额中退款
|
||||
* 不解冻,退款
|
||||
* 部分解冻,并退款
|
||||
*/
|
||||
@Override
|
||||
public void updateRefundAmountFromFreezeAmount(String paymentId, BigDecimal refundAmount) {
|
||||
|
||||
@@ -859,7 +859,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
||||
/**
|
||||
* 不延迟商家订单退款处理逻辑
|
||||
* 例如:希晓
|
||||
* 相当于已经分账完成了
|
||||
* 相当于已经分账完成了,只需要退款
|
||||
*
|
||||
* @param orderBasicInfo 订单信息
|
||||
* @param adapayMemberAccount 汇付用户信息
|
||||
@@ -867,7 +867,21 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
||||
* @return
|
||||
*/
|
||||
private OrderSettleResult notDelayMerchantOrderRefundLogic(OrderBasicInfo orderBasicInfo, AdapayMemberAccount adapayMemberAccount, String wechatAppId) {
|
||||
|
||||
try {
|
||||
String payMode = orderBasicInfo.getPayMode();
|
||||
if (StringUtils.equals(payMode, OrderPayModeEnum.PAYMENT_OF_BALANCE.getValue())) {
|
||||
// 余额支付
|
||||
balancePaymentOrderRefundV2(orderBasicInfo);
|
||||
} else if (StringUtils.equals(payMode, OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue())) {
|
||||
// 微信支付
|
||||
onlinePaymentOrderRefund(orderBasicInfo);
|
||||
} else {
|
||||
// 白名单支付
|
||||
logger.info("订单:{}使用白名单支付,不进行退款处理", orderBasicInfo.getOrderCode());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("订单退款逻辑异常orderCode:{}", orderBasicInfo.getOrderCode(), e);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -1069,19 +1083,6 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
||||
}
|
||||
this.refundOrderWithAdapay(applyRefundDTO);
|
||||
}
|
||||
|
||||
// 查支付记录
|
||||
// List<OrderPayRecord> payRecordList = orderPayRecordService.getOrderPayRecordList(orderCode);
|
||||
// 更新订单支付记录
|
||||
// List<OrderPayRecord> updatePayRecordList = Lists.newArrayList();
|
||||
// OrderPayRecord orderPayRecord = payRecordList.get(0);
|
||||
// orderPayRecord.setRefundAmount(refundAmount);
|
||||
// updatePayRecordList.add(orderPayRecord);
|
||||
//
|
||||
// // 更新order_pay_record
|
||||
// if (CollectionUtils.isNotEmpty(updatePayRecordList)) {
|
||||
// orderPayRecordService.updateBatch(updatePayRecordList);
|
||||
// }
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2525,8 +2526,12 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
||||
refundAmt = new BigDecimal(response.getReverse_amt());
|
||||
// BigDecimal spendAmt = callbackRecord.getPayAmt().subtract(refundAmt);
|
||||
// memberAdapayRecordService.commonUpdateAmountMethod(paymentId, spendAmt, reverseAmt, null);
|
||||
// 解冻并退款
|
||||
// memberAdapayRecordService.unfreezeAmountAndUpdateSpendAmount(paymentId, reverseAmt, spendAmt);
|
||||
|
||||
/*
|
||||
不管是撤销还是退款,都需要更新memberAdapayRecord中的金额, 解冻金额就是支付的金额,退款金额就是订单结算后需要退的金额
|
||||
延时分账的,可以部分解冻
|
||||
*/
|
||||
memberAdapayRecordService.updateRefundAmountFromFreezeAmount(paymentId, refundAmt);
|
||||
}
|
||||
} else {
|
||||
// 实时分账的调退款接口
|
||||
@@ -2537,11 +2542,14 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
||||
// 更新此笔交易单的消费金额 = 支付金额 - 撤销金额
|
||||
// BigDecimal spendAmt = callbackRecord.getPayAmt().subtract(refundAmt);
|
||||
// memberAdapayRecordService.commonUpdateAmountMethod(paymentId, spendAmt, refundAmt, null);
|
||||
|
||||
/*
|
||||
不管是撤销还是退款,都需要更新memberAdapayRecord中的金额, 解冻金额就是支付的金额,退款金额就是订单结算后需要退的金额
|
||||
实时分账的,可以全部解冻
|
||||
*/
|
||||
memberAdapayRecordService.unfreezeAmountAndUpdateSpendAmount(paymentId, payAmt, refundAmt);
|
||||
}
|
||||
}
|
||||
|
||||
// 不管是撤销还是退款,都需要更新memberAdapayRecord中的金额, 解冻金额就是支付的金额,退款金额就是订单结算后需要退的金额
|
||||
memberAdapayRecordService.unfreezeAmountAndUpdateSpendAmount(paymentId, payAmt, refundAmt);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user