feat(fulfillment): 收敛履约状态写入口并追加状态事件
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
||||
# order_site 文档索引
|
||||
|
||||
> 最后补充:2026-11-05,新增《履约系统架构复盘与优化方案》;生产代码基线 `e8b76b3b` / 迁移 `136`,开发分支 `dev_11.5_2` 已推进到迁移 `139`。
|
||||
> 最后补充:2026-11-05,新增《履约系统架构复盘与优化方案》;生产代码基线 `e8b76b3b` / 迁移 `136`,开发分支 `dev_11.5_2` 已推进到迁移 `140`(履约统一状态写入口与追加事件)。
|
||||
> 数据基线:生产 dump `backups/postgres/order_site-20261022-092601.dump`(数据 2026-07-10 ~ 2026-10-22);历史全量数字仅作基线,**上线验收以 [财务上线初始化与验收-2026-10-26.md](财务上线初始化与验收-2026-10-26.md) 为准**。
|
||||
> 本文是 `docs/` 的唯一入口。**整体财务流程看 [财务流程总览-2026-11-01.md](财务流程总览-2026-11-01.md)**;数据模型看 [成本中心与履约模型.md](成本中心与履约模型.md),接口看 [成本中心API契约.md](成本中心API契约.md)。
|
||||
> 新增文档必须在下表登记状态;过期文档不再直接改写结论,统一移入 `docs/archive/`。
|
||||
|
||||
@@ -10,12 +10,12 @@ status: draft
|
||||
> 状态:**方案**,尚未实施。
|
||||
> 最后校准:2026-11-05。
|
||||
> 代码基线:`e8b76b3b` + `dev_11.5_2` 履约架构改造。
|
||||
> 数据库基线:生产迁移 `136`;开发分支迁移 `138`。
|
||||
> 数据库基线:生产迁移 `136`;开发分支迁移 `140`。
|
||||
> 生产核对方式:只读 SQL、后台页面、现行文档与源码交叉检查。
|
||||
|
||||
## 实施进度
|
||||
|
||||
2026-11-05 已在 `dev_11.5_2` 开始阶段 0 和阶段 1:
|
||||
2026-11-05 已在 `dev_11.5_2` 完成阶段 0、阶段 1,并落地阶段 2 的核心写入口:
|
||||
|
||||
- 已完成:迁移 `137` 新增 `v_fulfillment_item_state` 统一读模型。
|
||||
- 已完成:履约问题按 `classification / configuration / carrier / manual_review / after_sales / system` 分类。
|
||||
@@ -25,7 +25,12 @@ status: draft
|
||||
- 已完成:迁移 `138` 为履约任务增加 `attempt_no / is_current`,每个订单项单元只允许一个当前尝试。
|
||||
- 已完成:创建新任务时自动退休旧当前尝试,任务页“当前任务”改为读取正式指针。
|
||||
- 已完成:迁移 `139` 写入 `fulfillment_automation_cutoff`,自动渠道判定、补载体、自动转人工和异常收口只处理生效时间之后创建的订单。
|
||||
- 待继续:正式 `fulfillments / attempts / issues / events` 表、统一写入口、独立售后队列和生产存量修复。
|
||||
- 已完成:迁移 `140` 新增只追加的 `fulfillment_state_events`;订单项履约核心字段每次真实变化都由触发器留痕,遗留直写至少记录为 `system` 事件。
|
||||
- 已完成:新增 `FulfillmentStateService`,履约状态写入先锁订单项、校验期望状态,再统一更新并由事件触发器记录前后值、操作者和原因。
|
||||
- 已完成:自动判渠、补载体、自动发货兜底、人工确认、人工分类移除、后台锁定/解锁/归档和渠道切换均接入统一状态写入口。
|
||||
- 已完成:任务创建先锁订单项并复用已有活跃尝试,避免并发调度重复插入同一当前尝试。
|
||||
- 已完成:新增真实 PostgreSQL 状态事件集成测试;全新库 `001 → 140` 迁移和既有履约路由集成测试通过。
|
||||
- 待继续:正式 `fulfillments / attempts / issues` 表、配置关联类直写继续收敛、独立售后队列和生产存量修复。
|
||||
|
||||
### 历史数据边界
|
||||
|
||||
@@ -688,7 +693,7 @@ FulfillmentStateService
|
||||
| P0 | 混合组动作收敛 | 防止错误重试和跨范围操作 |
|
||||
| P0 | 退款/取消隔离 | 商业终态不再进入履约队列 |
|
||||
| P0 | 统一读模型 | 让页面和统计使用同一事实 |
|
||||
| P1 | 履约写入口 | 消除多服务直接改状态 |
|
||||
| P1 | 履约写入口 | 核心状态已收敛;配置关联字段继续收敛 |
|
||||
| P1 | 队列拆分 | 让不同角色处理不同类型问题 |
|
||||
| P1 | 当前尝试指针 | 历史尝试不再看起来像当前任务 |
|
||||
| P2 | 正式履约表 | 建立长期可扩展模型 |
|
||||
@@ -708,6 +713,8 @@ pending 订单无结构化 issue_code:0
|
||||
混合异常组出现整组重试按钮:0
|
||||
```
|
||||
|
||||
迁移 `140` 之后,履约核心状态变化由数据库触发器兜底记事件;统一状态服务还会记录操作者、动作原因,并用期望状态阻止陈旧页面覆盖新状态。
|
||||
|
||||
运营指标:
|
||||
|
||||
```text
|
||||
|
||||
Reference in New Issue
Block a user