diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index 0ddddbbc2..7af1df1b3 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -1137,10 +1137,9 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { .reason("订单支付明细与会员钱包出账金额不一致") .build(); } - // 订单支付金额 = 充电金额 + 保险金额 - BigDecimal orderPayAmount = orderBasicInfo.getPayAmount() - .add(orderBasicInfo.getInsuranceAmount() == null ? BigDecimal.ZERO : orderBasicInfo.getInsuranceAmount()); - if (!baseFieldsReady || !samePaymentAmount(orderPayAmount, payRecordAmount)) { + // 余额支付:payAmount 已通过回调累加(可能含保险),payRecordAmount 仅含余额支付记录, + // 直接比较两者即可,不应再加保险金额(避免双重计算) + if (!baseFieldsReady || !samePaymentAmount(orderBasicInfo.getPayAmount(), payRecordAmount)) { return OrderPaymentCheckResult.builder() .checkCompleted(true) .paymentEvidenceFound(true)