mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-05-05 02:20:12 +08:00
交易分账 重构
This commit is contained in:
@@ -2420,13 +2420,8 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
|||||||
String expend = callbackRecord.getExpend();
|
String expend = callbackRecord.getExpend();
|
||||||
JSONObject expendJsonObject = JSON.parseObject(expend);
|
JSONObject expendJsonObject = JSON.parseObject(expend);
|
||||||
String payMode = expendJsonObject.getString("payMode");
|
String payMode = expendJsonObject.getString("payMode");
|
||||||
// String payMode = "delay";
|
|
||||||
if (StringUtils.equalsIgnoreCase(payMode, Constants.ADAPAY_PAY_MODE_DELAY)) {
|
if (StringUtils.equalsIgnoreCase(payMode, Constants.ADAPAY_PAY_MODE_DELAY)) {
|
||||||
// 延迟分账未确认调撤销调撤销接口退款
|
// 延迟分账未确认调撤销调撤销接口退款
|
||||||
// PaymentReverseResponse response = adapayService.createPaymentReverseRequest(
|
|
||||||
// paymentId, refundAmount, dto.getWechatAppId(), dto.getMemberId(), ScenarioEnum.ORDER.getValue(),
|
|
||||||
// dto.getOrderCode());
|
|
||||||
|
|
||||||
PaymentReverseOperation operation = new PaymentReverseOperation();
|
PaymentReverseOperation operation = new PaymentReverseOperation();
|
||||||
operation.setPaymentId(paymentId);
|
operation.setPaymentId(paymentId);
|
||||||
operation.setReverseAmt(refundAmount);
|
operation.setReverseAmt(refundAmount);
|
||||||
@@ -2435,24 +2430,10 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
|||||||
operation.setScenarioType(ScenarioEnum.ORDER.getValue());
|
operation.setScenarioType(ScenarioEnum.ORDER.getValue());
|
||||||
operation.setOrderCode(dto.getOrderCode());
|
operation.setOrderCode(dto.getOrderCode());
|
||||||
PaymentReverseResponse response = adapayService.createPaymentReverseRequest(operation);
|
PaymentReverseResponse response = adapayService.createPaymentReverseRequest(operation);
|
||||||
|
|
||||||
if (response != null && response.isNotFailed()) {
|
if (response != null && response.isNotFailed()) {
|
||||||
BigDecimal reverseAmt = new BigDecimal(response.getReverse_amt());
|
BigDecimal reverseAmt = new BigDecimal(response.getReverse_amt());
|
||||||
BigDecimal spendAmt = callbackRecord.getPayAmt().subtract(reverseAmt);
|
BigDecimal spendAmt = callbackRecord.getPayAmt().subtract(reverseAmt);
|
||||||
// MemberAdapayRecord record = memberAdapayRecordService.selectByPaymentId(paymentId);
|
|
||||||
// // 更新此笔交易单的消费金额 = 支付金额 - 撤销金额
|
|
||||||
// record.setSpendAmt(spendAmt);
|
|
||||||
// // 退款金额
|
|
||||||
// record.setRefundAmt(reverseAmt);
|
|
||||||
// // 更新此笔交易单的剩余金额 = 支付金额 - 累计退款金额 - 累计消费金额
|
|
||||||
// record.setBalanceAmt(record.getPayAmt().subtract(record.getRefundAmt()).subtract(record.getSpendAmt()));
|
|
||||||
// memberAdapayRecordService.updateByPrimaryKeySelective(record);
|
|
||||||
|
|
||||||
memberAdapayRecordService.commonUpdateAmountMethod(paymentId, spendAmt, reverseAmt, null);
|
memberAdapayRecordService.commonUpdateAmountMethod(paymentId, spendAmt, reverseAmt, null);
|
||||||
// if (BigDecimal.ZERO.compareTo(record.getBalanceAmt()) != 0) {
|
|
||||||
// logger.error("订单分账结束后账不平,paymentId:{}, orderCode:{}, 支付金额:{}, 消费金额:{}, 退款金额:{}",
|
|
||||||
// paymentId, dto.getOrderCode(), payAmt, spendAmt, reverseAmt);
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// 实时分账的调退款接口
|
// 实时分账的调退款接口
|
||||||
@@ -2462,46 +2443,9 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
|||||||
BigDecimal refundAmt = new BigDecimal(refundRequest.getRefund_amt());
|
BigDecimal refundAmt = new BigDecimal(refundRequest.getRefund_amt());
|
||||||
// 更新此笔交易单的消费金额 = 支付金额 - 撤销金额
|
// 更新此笔交易单的消费金额 = 支付金额 - 撤销金额
|
||||||
BigDecimal spendAmt = callbackRecord.getPayAmt().subtract(refundAmt);
|
BigDecimal spendAmt = callbackRecord.getPayAmt().subtract(refundAmt);
|
||||||
// MemberAdapayRecord record = memberAdapayRecordService.selectByPaymentId(paymentId);
|
|
||||||
// record.setSpendAmt(spendAmt);
|
|
||||||
// // 退款金额
|
|
||||||
// record.setRefundAmt(refundAmt);
|
|
||||||
// // 更新此笔交易单的剩余金额 = 支付金额 - 累计退款金额 - 累计消费金额
|
|
||||||
// record.setBalanceAmt(record.getPayAmt().subtract(record.getRefundAmt()).subtract(record.getSpendAmt()));
|
|
||||||
// if (BigDecimal.ZERO.compareTo(record.getBalanceAmt()) != 0) {
|
|
||||||
// logger.error("订单分账结束后账不平,paymentId:{}, orderCode:{}, 支付金额:{}, 消费金额:{}, 退款金额:{}",
|
|
||||||
// paymentId, dto.getOrderCode(), payAmt, spendAmt, refundAmt);
|
|
||||||
// }
|
|
||||||
// memberAdapayRecordService.updateByPrimaryKeySelective(record);
|
|
||||||
|
|
||||||
memberAdapayRecordService.commonUpdateAmountMethod(paymentId, spendAmt, refundAmt, null);
|
memberAdapayRecordService.commonUpdateAmountMethod(paymentId, spendAmt, refundAmt, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// if (StringUtils.equals("", payMode)) {
|
|
||||||
// // 延迟分账确认的调退款接口
|
|
||||||
// adapayService.createRefundRequest(paymentId, refundAmount);
|
|
||||||
// } else {
|
|
||||||
// // 延迟分账未确认调撤销调撤销接口退款
|
|
||||||
// PaymentReverseResponse response = adapayService.createPaymentReverseRequest(
|
|
||||||
// paymentId, refundAmount, dto.getWechatAppId(), dto.getMemberId(), ScenarioEnum.ORDER.getValue(),
|
|
||||||
// dto.getOrderCode());
|
|
||||||
// if (response != null && response.isFailed()) {
|
|
||||||
// MemberAdapayRecord record = memberAdapayRecordService.selectByPaymentId(paymentId);
|
|
||||||
// BigDecimal reverseAmt = new BigDecimal(response.getReverse_amt());
|
|
||||||
// // 更新此笔交易单的消费金额 = 支付金额 - 撤销金额
|
|
||||||
// BigDecimal spendAmt = callbackRecord.getPayAmt().subtract(reverseAmt);
|
|
||||||
// record.setSpendAmt(spendAmt);
|
|
||||||
// // 退款金额
|
|
||||||
// record.setRefundAmt(reverseAmt);
|
|
||||||
// // 更新此笔交易单的剩余金额 = 支付金额 - 累计退款金额 - 累计消费金额
|
|
||||||
// record.setBalanceAmt(record.getPayAmt().subtract(record.getRefundAmt()).subtract(record.getSpendAmt()));
|
|
||||||
// if (BigDecimal.ZERO.compareTo(record.getBalanceAmt()) != 0) {
|
|
||||||
// logger.error("订单分账结束后账不平,paymentId:{}, orderCode:{}, 支付金额:{}, 消费金额:{}, 退款金额:{}",
|
|
||||||
// paymentId, dto.getOrderCode(), payAmt, spendAmt, reverseAmt);
|
|
||||||
// }
|
|
||||||
// memberAdapayRecordService.updateByPrimaryKeySelective(record);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user