mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-06-20 23:29:48 +08:00
交易分账 重构
This commit is contained in:
@@ -109,7 +109,7 @@ public class MemberAdapayRecordServiceImpl implements MemberAdapayRecordService
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 从冻结金额中退款
|
* 从冻结金额中退款
|
||||||
* 不解冻,退款
|
* 部分解冻,并退款
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void updateRefundAmountFromFreezeAmount(String paymentId, BigDecimal refundAmount) {
|
public void updateRefundAmountFromFreezeAmount(String paymentId, BigDecimal refundAmount) {
|
||||||
|
|||||||
@@ -859,7 +859,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
|||||||
/**
|
/**
|
||||||
* 不延迟商家订单退款处理逻辑
|
* 不延迟商家订单退款处理逻辑
|
||||||
* 例如:希晓
|
* 例如:希晓
|
||||||
* 相当于已经分账完成了
|
* 相当于已经分账完成了,只需要退款
|
||||||
*
|
*
|
||||||
* @param orderBasicInfo 订单信息
|
* @param orderBasicInfo 订单信息
|
||||||
* @param adapayMemberAccount 汇付用户信息
|
* @param adapayMemberAccount 汇付用户信息
|
||||||
@@ -867,7 +867,21 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private OrderSettleResult notDelayMerchantOrderRefundLogic(OrderBasicInfo orderBasicInfo, AdapayMemberAccount adapayMemberAccount, String wechatAppId) {
|
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;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1069,19 +1083,6 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
|||||||
}
|
}
|
||||||
this.refundOrderWithAdapay(applyRefundDTO);
|
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());
|
refundAmt = new BigDecimal(response.getReverse_amt());
|
||||||
// BigDecimal spendAmt = callbackRecord.getPayAmt().subtract(refundAmt);
|
// BigDecimal spendAmt = callbackRecord.getPayAmt().subtract(refundAmt);
|
||||||
// memberAdapayRecordService.commonUpdateAmountMethod(paymentId, spendAmt, reverseAmt, null);
|
// memberAdapayRecordService.commonUpdateAmountMethod(paymentId, spendAmt, reverseAmt, null);
|
||||||
// 解冻并退款
|
|
||||||
// memberAdapayRecordService.unfreezeAmountAndUpdateSpendAmount(paymentId, reverseAmt, spendAmt);
|
/*
|
||||||
|
不管是撤销还是退款,都需要更新memberAdapayRecord中的金额, 解冻金额就是支付的金额,退款金额就是订单结算后需要退的金额
|
||||||
|
延时分账的,可以部分解冻
|
||||||
|
*/
|
||||||
|
memberAdapayRecordService.updateRefundAmountFromFreezeAmount(paymentId, refundAmt);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// 实时分账的调退款接口
|
// 实时分账的调退款接口
|
||||||
@@ -2537,12 +2542,15 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
|||||||
// 更新此笔交易单的消费金额 = 支付金额 - 撤销金额
|
// 更新此笔交易单的消费金额 = 支付金额 - 撤销金额
|
||||||
// BigDecimal spendAmt = callbackRecord.getPayAmt().subtract(refundAmt);
|
// BigDecimal spendAmt = callbackRecord.getPayAmt().subtract(refundAmt);
|
||||||
// memberAdapayRecordService.commonUpdateAmountMethod(paymentId, spendAmt, refundAmt, null);
|
// memberAdapayRecordService.commonUpdateAmountMethod(paymentId, spendAmt, refundAmt, null);
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 不管是撤销还是退款,都需要更新memberAdapayRecord中的金额, 解冻金额就是支付的金额,退款金额就是订单结算后需要退的金额
|
/*
|
||||||
|
不管是撤销还是退款,都需要更新memberAdapayRecord中的金额, 解冻金额就是支付的金额,退款金额就是订单结算后需要退的金额
|
||||||
|
实时分账的,可以全部解冻
|
||||||
|
*/
|
||||||
memberAdapayRecordService.unfreezeAmountAndUpdateSpendAmount(paymentId, payAmt, refundAmt);
|
memberAdapayRecordService.unfreezeAmountAndUpdateSpendAmount(paymentId, payAmt, refundAmt);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 汇付支付余额退款
|
* 汇付支付余额退款
|
||||||
|
|||||||
Reference in New Issue
Block a user