补齐审批退回结果通知 [09-04-approval-return-notification-gap]

这个提交包含在:
2026-09-04 16:22:27 +08:00
父节点 a6ffb7fc3c
当前提交 2e69fe4edb
共修改 19 个文件,包含 857 行新增和 14 行删除
+5 -2
查看文件
@@ -96,8 +96,9 @@
### 3.2 一期明确覆盖范围
- 待办类:`workflow.task_assigned`
- 报销结果:`reimbursement.approved / rejected / returned / paid`
- 请假结果:`leave.approved / rejected`
- 采购结果:`purchase_request.approved / rejected`
- 请假结果:`leave.approved / rejected / returned`
- 采购结果:`purchase_request.approved / rejected / returned`
- 差旅结果:`travel_request.approved / rejected / returned`
- 资产流转:`asset.assigned / returned / transferred`
- 盘点结果:`inventory_check.completed`
@@ -227,6 +228,8 @@
### 6.3 当前 IM 一期实现说明
- 运行时仍以通知类型驱动 IM 入队,而不是直接暴露新的领域事件名。
- 请假、采购和差旅退回分别使用 `leave.returned`、`purchase_request.returned`、`travel_request.returned`;正文明确单据已退回且可修改后重新提交。这三项是运行时通知类型,不新增领域 Outbox 事件名。
- 支持 return 的业务对象在业务状态、审批历史和额度/预算释放完成后投影站内、邮件任务与 IM 派发任务;通知构造或派发失败只记录脱敏错误,不回滚已经完成的退回结果。
- `notification.im` 的 `dedupeKey` 固定为:
- `${notificationType}:${targetType}:${targetId || targetPath}:${channelId}`
- IM 失败仅影响 Outbox 状态,不回滚业务事务。