update 修复异常订单

This commit is contained in:
Guoqs
2026-07-25 13:57:39 +08:00
parent 2eca1f6a79
commit 1f05471dda
2 changed files with 18 additions and 2 deletions

View File

@@ -1139,14 +1139,27 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
}
// 余额支付payAmount 已通过回调累加可能含保险payRecordAmount 仅含余额支付记录,
// 直接比较两者即可,不应再加保险金额(避免双重计算)
if (!baseFieldsReady || !samePaymentAmount(orderBasicInfo.getPayAmount(), payRecordAmount)) {
if (!baseFieldsReady) {
return OrderPaymentCheckResult.builder()
.checkCompleted(true)
.paymentEvidenceFound(true)
.orderPaymentReady(false)
.paymentAmount(payRecordAmount)
.paymentTime(paymentTime)
.reason("支付流水存在,但订单主表支付字段不完整或金额不一致")
.reason("支付流水存在,但订单主表支付字段不完整(payStatus=" + payStatus
+ ", payAmount=" + orderBasicInfo.getPayAmount()
+ ", payTime=" + orderBasicInfo.getPayTime() + ")")
.build();
}
if (!samePaymentAmount(orderBasicInfo.getPayAmount(), payRecordAmount)) {
return OrderPaymentCheckResult.builder()
.checkCompleted(true)
.paymentEvidenceFound(true)
.orderPaymentReady(false)
.paymentAmount(payRecordAmount)
.paymentTime(paymentTime)
.reason("支付流水存在,但订单主表支付金额(" + orderBasicInfo.getPayAmount()
+ ")与支付明细汇总(" + payRecordAmount + ")不一致")
.build();
}
return OrderPaymentCheckResult.builder()

View File

@@ -356,6 +356,9 @@ public class DelayMerchantProgramLogic extends AbstractProgramLogic {
giftBalancePay = stringBigDecimalMap.get("giftBalancePay");
}
// 更新支付金额 = 本金支付金额 + 赠送金支付金额,确保与 order_pay_record 汇总一致
chargeAmount = principalBalancePay.add(giftBalancePay);
// 更新会员钱包 全部金额都用于支付订单
UpdateMemberBalanceDTO updateMemberBalanceDTO = UpdateMemberBalanceDTO.builder()
.memberId(memberId)