## ADDED Requirements ### Requirement: 充值回调事务一致性 `HandlePaymentCallback` 内的 `UpdateStatusWithOptimisticLock` 与 `UpdatePaymentInfo` MUST 使用同一个事务内 `tx` 执行,保证充值状态与支付信息的原子性。 #### Scenario: 回调处理中状态更新与支付信息更新同事务 - **WHEN** 收到支付成功回调并进入 `HandlePaymentCallback` - **THEN** 系统 MUST 在同一事务 `tx` 内执行 `UpdateStatusWithOptimisticLock` - **THEN** 系统 MUST 在同一事务 `tx` 内执行 `UpdatePaymentInfo` #### Scenario: 事务失败整体回滚 - **WHEN** 回调处理中任一步骤失败 - **THEN** 系统 MUST 回滚该事务,保证订单状态与支付信息不出现部分成功 --- ### Requirement: Store 方法签名支持事务参数 系统 MUST 调整充值相关 Store 方法签名,支持显式传入 `*gorm.DB tx` 参数,以保证事务边界可控。 #### Scenario: Service 传入事务句柄 - **WHEN** Service 在事务上下文调用 Store 更新充值记录 - **THEN** Store 方法 MUST 接收并使用传入的 `tx` 执行数据库操作