1.9 KiB
1.9 KiB
02 — 平台创建店铺时设置或继承业务员
What to build: 超级管理员和平台账号创建店铺时,可以显式选择当前可用的平台业务员、显式创建为空归属,或在字段缺失时一次性继承所选上级店铺当前保存的业务员 ID。店铺、初始主账号、默认角色、主钱包、分佣钱包、业务员归属及成功审计作为一个完整创建用例原子提交。
Blocked by: 01 — 建立店铺业务员归属持久化基线
Status: ready-for-agent
架构通道: 主通道为简单写 Application,辅助通道为 Infrastructure。
完整业务边界: 本票迁移并收口平台操作者的店铺创建完整用例。明确不迁移店铺删除、启停及其他无关 CRUD,不创建 Shop 聚合,不实现代理账号的请求字段拒绝规则。
- 创建命令真实区分业务员字段缺失、显式
null、零值和正整数,Handler 不自行猜测三态语义。 - 超级管理员和平台账号显式传正 ID 时,只能绑定当前启用、未删除的普通平台账号;超级管理员、代理、企业、停用和软删除账号均不可人工新绑定。
- 显式
null创建为空归属;字段缺失且有上级时复制上级当前保存的原始 ID,字段缺失且无上级时创建为空归属。 - 上级保存的业务员即使当前停用或软删除,字段缺失时仍按历史 ID 原值继承,不把继承误作人工候选校验。
- 店铺、初始主账号、账号角色、店铺角色、两个钱包、业务员归属和关键成功审计在同一数据库事务内成功或回滚,任一步失败不留下半成品。
- 创建事件记录归属来源
inherited/explicit/empty、上级店铺 ID 和最终业务员 ID,并符合统一审计写入契约。 - Application、PostgreSQL 与 HTTP 集成测试覆盖平台创建矩阵、字段四态、候选失效、事务回滚和统一中文错误。