docs(P20T2-5): 差旅对公支付边界事件矩阵收口
这个提交包含在:
+8
-1
@@ -1,4 +1,4 @@
|
||||
# 领域事件清单(P19 / P19+IM-1 / P19+ERP-3 / P19+AI-1 / P20+TRAVEL-1)
|
||||
# 领域事件清单(P19 / P19+IM-1 / P19+ERP-3 / P19+AI-1 / P20+TRAVEL-1 / P20+TRAVEL-2)
|
||||
|
||||
**快照日期**:2026-03-10
|
||||
**目标**:冻结 `hyb-oa` 当前采购、资产与差旅域的标准领域事件名,并补充 `P19+IM-1` 已实际消费的 IM 通知类型清单,以及 `P19+ERP-1 / ERP-3 / AI-1 / TRAVEL-1` 已实际落地的消费映射,作为后续 ERP / IM / AI / TRAVEL 适配的事实源。
|
||||
@@ -22,6 +22,7 @@
|
||||
| `travel_request.approved` | 差旅申请审批通过后 | `travel_request` | `travelRequestId`, `requestNo`, `approvedBy`, `legalEntityId`, `costCenterId`, `budgetPoolId`, `estimatedAmount`, `tripType`, `status` | IM、Budget、TRAVEL-2/3 | 对应预算 `confirm` 已完成;TRAVEL-1 不做 ERP 出站 |
|
||||
| `travel_request.rejected` | 差旅申请审批驳回后 | `travel_request` | `travelRequestId`, `requestNo`, `actorId`, `reason`, `status` | IM、Budget、AI | 若存在预算预留,应已释放 |
|
||||
| `travel_request.withdrawn` | 申请人撤回差旅申请后 | `travel_request` | `travelRequestId`, `requestNo`, `actorId`, `status` | Budget、AI、TRAVEL-2/3 | 动作结果固定回到 `draft`,不是持久状态 |
|
||||
| `travel_order.paid` | 差旅订单被财务/行政标记为已支付后 | `travel_order` | `travelOrderId`, `travelRequestId`, `externalOrderNo`, `paymentVoucherNo`, `paymentDate`, `paymentChannel`, `amount`, `currency`, `status` | ERP、TRAVEL-3、AI | `TRAVEL-2` 起稳定承诺,用于支付 journal 出站 |
|
||||
| `purchase_order.archived` | PO/合同归档保存成功后 | `purchase_order_archive` | `purchaseOrderArchiveId`, `purchaseRequestId`, `requestNo`, `poNo`, `contractNo`, `archivedAt`, `totalAmount` | ERP、AI | ERP-2 以此驱动 accrual journal 与 archive summary |
|
||||
| `asset.card.created` | 资产卡片创建成功后 | `asset_card` | `assetId`, `assetNo`, `name`, `categoryId`, `legalEntityId`, `costCenterId`, `purchaseRequestId`, `status` | ERP、IM、AI | 资产域不接 workflow |
|
||||
| `asset.assigned` | 资产领用成功后 | `asset_card` | `assetId`, `assetNo`, `employeeId`, `assignedAt`, `location`, `status` | IM、AI | 对应新增 open assignment |
|
||||
@@ -126,3 +127,9 @@
|
||||
- 差旅一期运行时会在 `travel_request.submitted` 时创建 workflow 实例、分派 `workflow.task_assigned` 待办,并按预算池解析结果尝试 `reserve`;`travel_request.approved` / `travel_request.rejected` 则分别驱动预算 `confirm` / `release`。
|
||||
- 当前 IM 已实际消费差旅审批结果通知 `travel_request.approved` 与 `travel_request.rejected`;`travel_request.submitted` 与 `travel_request.withdrawn` 仍作为稳定领域事实保留,不额外新增结果类通知。
|
||||
- `travel_order.imported` 在 `TRAVEL-1` 当前仍只作为内部集成事实和入站表更新使用,不提升为稳定公共事件,也不在本表作为长期承诺事件名登记。
|
||||
|
||||
## 13. P20+TRAVEL-2 已实现消费说明
|
||||
- `P20+TRAVEL-2` 新增稳定事件名 `travel_order.paid`,并明确 `card_authorization.imported`、`card_transaction.imported`、`card_transaction.reversed` 当前都只保留为内部支付轨道事实,不进入稳定公共事件表。
|
||||
- `CardAuthorization` 导入成功后写支付预算 `authorize`;`CardTransaction` 的 `charge + settled` 写 `settle`,`refund / reversal` 写 `reverse`,且这些支付账轨不回改 `travel_request` 在 `TRAVEL-1` 已冻结的申请预算确认点。
|
||||
- 差旅订单只有在已结算交易与订单金额/币种完全匹配时才会从 `imported` 推进到 `confirmed`;之后由 `mark-paid` 手工结算动作把订单推进到 `paid`,形成运营闭环。
|
||||
- `travel_order.paid` 的固定消费路径为:`travel_order.paid` → `TravelOrderPaymentJournalSlice` → `erp.journal.export`;若 `erp_sync` feature flag 未开启,仅记录审计摘要,不进入 Outbox。
|
||||
|
||||
在新工单中引用
屏蔽一个用户