# 11 — 向真实业务提交人发送审批结果通知

**What to build:** 企微审批首次进入终态后，系统可以通过公共通知能力可靠通知真实业务提交人；代理由固定企微成员代提交时仍只把代理本人视为申请人，通过后撤销等高风险异常可按规则通知申请人和当前财务角色账号。

**Blocked by:**

- 08 — 完成轮询补偿与终态只发布一次
- `.scratch/tech-inapp-notifications/issues/08-notification-release-gate.md` — 08 — 完成公共通知发布门禁与下游接入契约

**Status:** ready-for-agent

**架构通道:** Application + Port/Adapter，复用公共 Outbox 和通知消费者。

**完整业务边界:** 本票收口企微审批结果通知事件、接收人语义、受控模板与目标引用。明确不复制通知模型、Worker、未读接口或前端消息中心，不发送企微待办，不承担退款到账通知。

- [ ] 通过、驳回、撤销、删除和通过后撤销使用受控通知类型、稳定事件 ID、审批实例/业务引用和最小结构化模板字段。
- [ ] 普通审批结果接收人固定为审批实例冻结的真实业务提交人账号 ID，绝不使用实际企微发起 `userid` 或代理固定代提交账号替代。
- [ ] 通过后撤销且业务已经处理时，除申请人外按公共通知接缝解析当前可用财务角色账号；同一账号多重命中只生成一条通知。
- [ ] 重复回调、轮询、Outbox 和通知 Worker 消费不会生成重复通知；账号已停用或删除时遵循公共通知无接收人语义，不无限重试。
- [ ] 通知只保存受控审批或来源业务引用，目标解析时重新验证当前权限，不保存任意 URL、审批附件、意见或企微内部身份。
- [ ] 端到端测试覆盖平台本人发起、代理代提交、通过/驳回、通过后撤销、多接收人去重、停用提交人、重复事件和受控目标权限变化。
