优化
This commit is contained in:
@@ -16,11 +16,11 @@ Finance 已实现内部事件 Controller、令牌鉴权、Inbox 同事件哈希
|
||||
|
||||
| 事件名 | 生产时机 | Finance 处理 | 备注 |
|
||||
|---|---|---|---|
|
||||
| `FIRSTLEG_FEE_PUBLISHED` | 入库或柜子费用审核通过、参与结算并发布;由 `aggregateType/payload` 区分来源 | 写入不可变来源版本 | 已实现并验证 |
|
||||
| `FIRSTLEG_FEE_PUBLISHED` | 入库或柜子费用审核通过后自动发布;由 `aggregateType/payload` 区分来源 | 写入不可变来源版本 | 已实现并验证 |
|
||||
| `FIRSTLEG_FEE_ADJUSTED` | 入库或柜子费用调整产生新版本 | 追加新版本并将旧 `AVAILABLE` 标为 `SUPERSEDED` | 已实现并验证 |
|
||||
| `FIRSTLEG_FEE_VOIDED` | 入库或柜子费用作废 | 将同版本来源标为 `VOIDED`,不物理删除 | 已实现并验证 |
|
||||
|
||||
事件不是“已生成应收”通知;Finance 仍按产品确认的入池条件(例如 `settlementIncluded`、审核状态和作废状态)决定是否进入可出账池。
|
||||
事件不是“已生成应收”通知;Finance 按审核、发布、来源状态、币种和正金额条件决定是否进入可出账池,不保存人工“是否结算”开关。
|
||||
|
||||
## 3. 统一事件信封
|
||||
|
||||
@@ -53,9 +53,9 @@ tenantId, sourceType, feeId, feeVersion,
|
||||
inboundId, inboundCode, orderId, containerId, containerBookingId, containerNo,
|
||||
customerId, customerName, feeItemId, feeItemCode, feeItemName,
|
||||
direction, businessDate, currency, totalAmount,
|
||||
reviewStatus, publicationStatus, settlementIncluded, publishedAt,
|
||||
reviewStatus, publicationStatus, publishedAt,
|
||||
chargeableQuantity, chargeUnit, actualGrossWeightKg, actualVolumeCbm,
|
||||
sourceHash, snapshotVersion
|
||||
supplierId, supplierName, supplierCategory, sourceHash, snapshotVersion
|
||||
```
|
||||
|
||||
Finance 将完整 DTO 和 `sourceHash` 存入自有来源池。非 `FIRSTLEG_FEE_VOIDED` 事件只接受 `publicationStatus=PUBLISHED`;未发布返回 `FIN-EVT-015`。作废事件允许读取对应作废版本,但只能把既有来源标为 `VOIDED`,不得创建新来源。
|
||||
@@ -117,6 +117,6 @@ Firstleg Outbox 发布采用至少一次投递:指数退避(建议 10s、30s
|
||||
|
||||
技术已确认:独立服务/数据库、DTO/事件通信、Outbox 至少一次、Finance Inbox 幂等、不可变来源快照、无跨库 Join、服务令牌、错误隔离和审计要求。
|
||||
|
||||
产品口径已冻结:只有 `APPROVED + PUBLISHED + settlementIncluded=true + ACTIVE + CNY` 来源可入池;一期按客户/供应商形成五页单据,出账后冻结,调整/作废重开保留版本和原因;不做汇率、月结、钱包抵扣、费用分析和利润表。事件消费者不得从历史原型推断这些已排除能力。剩余问题是来源模型、接口、事件和消费者实现,不是产品冲突。
|
||||
产品口径已冻结:只有 `APPROVED + PUBLISHED + AVAILABLE + CNY + amount>0` 来源可入池;审核通过后自动成为结算候选。PAYABLE 的 supplierId 必须是 Warehouse `ACTIVE` 供应商,supplierCategory 为空时允许任意启用供应商,非空时严格匹配且 Finance 不从费用名称猜测类别。出账后冻结,调整/作废重开保留版本和原因;不做汇率、月结、钱包抵扣、费用分析和利润表。
|
||||
|
||||
主要剩余风险:测试环境尚未完成 Firstleg Relay → Finance Inbox → `fin_fee_source` 的真实 HTTP 冒烟。产品已确认无历史财务数据,不需要历史事件回放方案。
|
||||
|
||||
Reference in New Issue
Block a user