bugfix 保险分账逻辑

This commit is contained in:
Lemon
2025-09-19 10:08:00 +08:00
parent 4088313277
commit 9d8cf73f92
2 changed files with 7 additions and 4 deletions

View File

@@ -539,10 +539,10 @@ public class PaymentTestController {
*/ */
@Test @Test
public void createPaymentReverseRequestTest() { public void createPaymentReverseRequestTest() {
String paymentId = "002212025091616304410813943148522684416"; String paymentId = "002212025091909381410814926502197886976";
BigDecimal refundAmount = new BigDecimal("0.5"); BigDecimal refundAmount = new BigDecimal("0.02");
String memberId = "65622699"; String memberId = "65622699";
String orderCode = "C65858163754"; String orderCode = "C63345490920";
// 延迟分账未确认调撤销调撤销接口退款 // 延迟分账未确认调撤销调撤销接口退款
PaymentReverseOperation operation = new PaymentReverseOperation(); PaymentReverseOperation operation = new PaymentReverseOperation();

View File

@@ -2063,6 +2063,9 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
// 订单信息 // 订单信息
OrderBasicInfo orderBasicInfo = afterSettleOrderDTO.getOrderBasicInfo(); OrderBasicInfo orderBasicInfo = afterSettleOrderDTO.getOrderBasicInfo();
// 保险金额(有默认值 0.00
BigDecimal insuranceAmount = orderBasicInfo.getInsuranceAmount();
// 订单是否需要分账, 结算金额必须大于0 // 订单是否需要分账, 结算金额必须大于0
if (orderSettleAmount == null || orderSettleAmount.compareTo(BigDecimal.ZERO) <= 0) { if (orderSettleAmount == null || orderSettleAmount.compareTo(BigDecimal.ZERO) <= 0) {
logger.info("realTimeOrderSplit-订单[{}]结算金额[{}]必须大于0", afterSettleOrderDTO.getOrderCode(), orderSettleAmount); logger.info("realTimeOrderSplit-订单[{}]结算金额[{}]必须大于0", afterSettleOrderDTO.getOrderCode(), orderSettleAmount);
@@ -2104,7 +2107,7 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
PaymentConfirmParam param = PaymentConfirmParam.builder() PaymentConfirmParam param = PaymentConfirmParam.builder()
.paymentId(paymentId) .paymentId(paymentId)
.divMemberList(divMemberList) .divMemberList(divMemberList)
.confirmAmt(orderSettleAmount) .confirmAmt(orderSettleAmount.add(insuranceAmount)) // 订单结算金额 + 保险金额
.orderCode(orderCode) .orderCode(orderCode)
.wechatAppId(appId) .wechatAppId(appId)
.build(); .build();