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

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

同步完成订单创建和余额支付后再返回鉴权成功,并增加支付凭证补偿、异常停机和结算保护。
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

@@ -339,6 +339,33 @@ public interface OrderBasicInfoService{
*/
void closeStartFailedOrder(String startTime, String endTime);
/**
* 校验订单支付凭证,并在底层支付流水完整时修复订单主表支付字段。
*
* @param orderBasicInfo 订单信息
* @return 支付凭证校验结果
*/
OrderPaymentCheckResult checkAndRepairOrderPayment(OrderBasicInfo orderBasicInfo);
/**
* 处理支付凭证异常订单。该方法只会将订单标记为异常,不会走正常结算或退款流程。
*
* @param orderBasicInfo 订单信息
* @param reason 异常原因
* @param data 原始交易记录报文,可为空
* @param stopCharging 是否需要向充电桩发送停机指令
*/
void handleOrderPaymentAnomaly(OrderBasicInfo orderBasicInfo, String reason,
TransactionRecordsData data, boolean stopCharging);
/**
* 扫描并补偿支付凭证异常的余额支付订单。
*
* @param startTime 开始时间
* @param endTime 结束时间
*/
void reconcileChargingOrderPayments(String startTime, String endTime);
List<OrderVO> getListByOrderCodes(List<String> orderCodes);
/**