修复余额不足仍可启动充电问题

统一启动金额优先级并在启动前校验会员余额。

同步完成订单创建和余额支付后再返回鉴权成功,并增加支付凭证补偿、异常停机和结算保护。
This commit is contained in:
Guoqs
2026-07-25 09:54:37 +08:00
parent bfa209becb
commit 1b37a7d5e8
18 changed files with 851 additions and 126 deletions

View File

@@ -0,0 +1,40 @@
package com.jsowell.pile.vo.web;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
/**
* 订单支付凭证校验结果。
*
* <p>paymentEvidenceFound 表示底层支付流水是否真实存在;
* orderPaymentReady 表示订单主表字段是否已经可以安全参与后续业务。</p>
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OrderPaymentCheckResult {
/** 本次校验是否正常完成;数据库/依赖异常时为 false不能据此判定订单未支付 */
private boolean checkCompleted;
/** 是否存在真实支付凭证 */
private boolean paymentEvidenceFound;
/** 订单支付字段是否完整且一致 */
private boolean orderPaymentReady;
/** 从支付流水恢复出的支付金额 */
private BigDecimal paymentAmount;
/** 从支付流水恢复出的支付时间 */
private Date paymentTime;
/** 校验失败原因 */
private String reason;
}