Files
junhong_cmp_fiber/.scratch/tech-global-audit/issues/08-finance-order-audit-migration.md
2026-07-22 15:58:28 +09:00

1.9 KiB
Raw Blame History

08 — 迁移现有资金与订单敏感操作到统一审计

What to build: 当前钱包变更、充值、退款和订单资金敏感操作通过统一 Audit Event 关联业务单、钱包、钱包流水、操作者和完整业务链路。金额结论继续以 Domain Ledger 为准,关键成功审计与资金事实同事务且只产生一次。

Blocked by:

  • 01 — 交付不可变 Audit Event 写入闭环
  • .scratch/tech-public-foundation/issues/02-transactional-public-outbox-write.md — 02 — 在业务事务中可靠写入公共 Outbox

Status: ready-for-agent

架构通道: 主通道为复杂写 Application/Domain辅助通道为 Port/Adapter。

完整业务边界: 本票迁移仓库当前存在的钱包、充值、退款和订单资金敏感入口,完整收口所触碰用例的金额、并发、幂等和可靠事件边界。明确不用 Audit Event 替代钱包流水、订单或退款事实,不重写未触碰资金用例。

  • 钱包余额变更、代理钱包回退、线下充值入账、人工退款结果及现有订单资金操作使用注册动作和稳定 correlation。
  • Audit Event 关联审批或业务单、钱包、钱包流水及直接受影响资产;每条投影明确领域流水才是金额权威。
  • 余额、流水、成功审计和必要 Outbox 在同一 GORM 事务内提交;审计或 Outbox 写入失败时资金事实整体回滚。
  • 状态条件更新、钱包版本或稳定业务键保证重复请求、Worker 重投和并发处理不重复改变余额、流水或成功审计。
  • 明确失败、拒绝和结果异常使用独立短事务记录安全摘要,不把第三方支付密钥、完整凭证或底层错误返回客户端。
  • PostgreSQL 集成测试覆盖正常资金变化、审计失败、Outbox 失败、乐观锁冲突、重复业务键、并发处理和金额事实对账。