Files
junhong_cmp_fiber/.scratch/ur38-agent-main-wallet-credit/issues/06-unified-agent-wallet-reservation.md
2026-07-22 17:25:12 +09:00

23 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 06 — 统一代理主钱包冻结与解冻
**What to build:** 需要预占代理主钱包资金的完整用例可以统一冻结、解冻和完成冻结资金扣除,并与普通扣款维护同一个信用边界。并发冻结、取消和完成不会造成重复处理或总可用金额越界。
**Blocked by:**
- `.scratch/ur38-agent-main-wallet-credit/issues/01-agent-main-wallet-credit-foundation.md` — 01 — 扩展代理主钱包信用模型与领域不变量
- `.scratch/ur38-agent-main-wallet-credit/issues/05-unified-agent-wallet-debit.md` — 05 — 统一代理订单、代购与钱包支付扣款
- `.scratch/tech-public-foundation/issues/02-transactional-public-outbox-write.md` — 02 — 在业务事务中可靠写入公共 Outbox
**Status:** ready-for-agent
**架构通道:** 复杂写Application UseCase → Wallet Domain → Repository/Infrastructure。
**完整业务边界:** 本票收口代理主钱包冻结、解冻和冻结资金最终扣除的完整用例及统一并发规则。明确不迁移佣金钱包提现、资产钱包冻结或没有触碰代理主钱包的预占流程。
- [ ] 冻结使用总可用金额作为边界,允许冻结占用信用但不把冻结金额直接计为欠款;冻结成功后版本递增。
- [ ] 解冻只减少合法冻结金额,完成冻结资金扣除同时减少余额和冻结金额,并保持冻结金额非负及主钱包总可用金额合法。
- [ ] 每个调用用例将业务状态、钱包版本、必要真实金额流水、Audit Event 和 Outbox 在同一事务维护,失败时整体回滚。
- [ ] 状态条件和稳定业务引用保证重复冻结、重复取消、重复完成不会二次改变钱包;并发零受影响行可区分业务已处理与真实资金冲突。
- [ ] 现有代理主钱包冻结相关调用点不再直接拼接现金条件或绕过 Wallet Domain佣金钱包原有提现边界保持不变。
- [ ] 测试覆盖纯现金冻结、占用信用、超额冻结、欠款状态下解冻、部分解冻、完成扣除、重复请求和并发竞态。