mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-08-11 00:33:45 +08:00
修复非余额支付(白名单/在线支付)保险订单支付凭证校验:移除错误的保险金额双重计算
非余额支付分支的 inspectOrderPayment 仍在 payAmount 基础上叠加 insuranceAmount 进行比对, 导致白名单/在线支付勾选保险后 payAmount + insuranceAmount ≠ payRecordAmount,订单被误判为异常。 修复: 1. 非余额分支改为直接比较 payAmount vs payRecordAmount,不再叠加 insuranceAmount 2. 错误信息拆分并打印具体值,便于定位字段不完整还是金额不一致
This commit is contained in:
@@ -1180,19 +1180,20 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
|||||||
.orderPaymentReady(false)
|
.orderPaymentReady(false)
|
||||||
.paymentAmount(payRecordEvidence ? payRecordAmount : null)
|
.paymentAmount(payRecordEvidence ? payRecordAmount : null)
|
||||||
.paymentTime(paymentTime)
|
.paymentTime(paymentTime)
|
||||||
.reason("订单主表支付字段不完整")
|
.reason("订单主表支付字段不完整(payStatus=" + payStatus
|
||||||
|
+ ", payAmount=" + orderBasicInfo.getPayAmount()
|
||||||
|
+ ", payTime=" + orderBasicInfo.getPayTime() + ")")
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
// 订单支付金额 = 充电金额 + 保险金额
|
// payAmount 已通过回调/支付记录设置(微信/支付宝/白名单等),不应再加保险金额(避免双重计算)
|
||||||
BigDecimal orderPayAmount = orderBasicInfo.getPayAmount()
|
if (payRecordEvidence && !samePaymentAmount(orderBasicInfo.getPayAmount(), payRecordAmount)) {
|
||||||
.add(orderBasicInfo.getInsuranceAmount() == null ? BigDecimal.ZERO : orderBasicInfo.getInsuranceAmount());
|
|
||||||
if (payRecordEvidence && !samePaymentAmount(orderPayAmount, payRecordAmount)) {
|
|
||||||
return OrderPaymentCheckResult.builder()
|
return OrderPaymentCheckResult.builder()
|
||||||
.checkCompleted(true)
|
.checkCompleted(true)
|
||||||
.paymentEvidenceFound(true)
|
.paymentEvidenceFound(true)
|
||||||
.orderPaymentReady(false)
|
.orderPaymentReady(false)
|
||||||
.paymentTime(paymentTime)
|
.paymentTime(paymentTime)
|
||||||
.reason("订单支付明细与订单主表支付金额不一致")
|
.reason("订单支付明细金额(" + payRecordAmount
|
||||||
|
+ ")与订单主表支付金额(" + orderBasicInfo.getPayAmount() + ")不一致")
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
return OrderPaymentCheckResult.builder()
|
return OrderPaymentCheckResult.builder()
|
||||||
|
|||||||
Reference in New Issue
Block a user