2.3 KiB
2.3 KiB
03 — 发布审批场景与首个模板版本
What to build: 超级管理员可以按稳定场景查看退款和线下充值审批配置,读取企微模板并通过可视化字段映射发布首个不可变模板版本;发布前由后端重新核对模板、控件类型和必填映射,业务代码不再依赖易变的模板 ID 或控件 ID。
Blocked by:
- 01 — 交付企微连接状态与安全 Adapter 闭环
.scratch/tech-public-foundation/issues/01-public-migration-ownership-and-gates.md— 01 — 建立公共迁移所有权与检查门禁.scratch/tech-global-audit/issues/01-audit-event-write-loop.md— 01 — 交付不可变 Audit Event 写入闭环
Status: ready-for-agent
架构通道: 复杂写,采用 Application + Domain + Repository/WeCom Adapter;场景与版本列表为辅助 Query。
完整业务边界: 本票收口稳定场景、不可变模板版本、模板读取、字段映射校验和首次发布。明确不实现运行中安全换版,不创建业务审批实例,不接入退款或充值创建。
- 初始化稳定场景
refund_approval与offline_recharge_approval,场景状态固定为0=已暂停、1=启用、2=暂停中,模板版本状态固定为0=已停用、1=启用、2=失效。 - 模板版本保存递增版本号、企微模板标识、名称、控件映射、模板快照、指纹、验证结果和发布快照;历史版本不可修改,每个场景至多一个启用版本。
- 模板读取接口只接受稳定场景和企微模板标识,向前端返回可映射控件事实;前端不能把控件名称、类型或原始映射 JSON 作为可信发布依据。
- 发布前重新从企微读取模板,验证可访问性、控件存在、类型匹配及全部必填业务字段映射;退款和线下充值字段集合符合 PRD,金额字段只用于展示。
- 首次发布在单一事务内写不可变版本、设置当前版本并启用场景;失败时不留下半发布版本或错误的当前版本引用。
- 模板读取、验证和发布写 Integration Log/Audit Event;真实 PostgreSQL 与可编程 Adapter 测试覆盖唯一约束、映射缺失、类型错误、指纹和事务回滚;新增 Handler 同步路由、RouteSpec 和两个 OpenAPI 文档生成器。