Files
junhong_cmp_fiber/.scratch/ur37-wecom-approval-foundation/issues/11-approval-result-inapp-notification.md
2026-07-22 16:58:26 +09:00

22 lines
1.9 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.
# 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、审批附件、意见或企微内部身份。
- [ ] 端到端测试覆盖平台本人发起、代理代提交、通过/驳回、通过后撤销、多接收人去重、停用提交人、重复事件和受控目标权限变化。