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

1.9 KiB
Raw Blame History

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