Files
platforms/docs/操作日志_模拟配送订单状态修复_20260815.md

49 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 模拟配送订单状态修复操作日志
操作时间2026-08-15
操作类型:修改、数据校正
影响模块:后端模拟数据、平台配送订单列表
## 操作前状态
- 附加模拟场景把 `MOCK-GASORDER-*` 配送订单写为 `10待处理`
- 配送订单文档和状态机规定初始状态为 `16已创建`前端因此正确显示“未知10”。
## 具体操作
- 新生成的 Mock 配送订单统一使用 `StatusCreated`
- 种子写入时幂等修复同一固定 Mock 订单的历史错误状态。
- 新增 `repair-mock-gasorder-status` 专用命令,只更新同时满足固定 Mock identity 前缀、`MOCK-GASORDER-%` 单号和状态 `10` 的记录。
## 行为变化
- 修改前:附加 Mock 订单显示“未知10且不具备合法订单动作。
- 修改后:这些订单显示“已创建”,与文档和状态机一致。
- 真实订单、已流转的 Mock 订单及其他模拟资源不受影响。
## 代码变更
- `backend/api/internal/seed/mock.go`:更正初始状态并新增精确修复函数。
- `backend/api/internal/seed/mock_test.go`:新增 Mock 订单初始状态回归测试。
- `backend/api/cmd/cli/main.go`:新增独立幂等修复命令。
## 验证结果
- 种子数据与配送订单逻辑测试通过。
- 专用修复命令返回实际受影响记录数。
- 页面刷新后应显示“已创建”不再显示“未知10”。
## 风险评估
- 修复条件为三重 Mock 范围限定,不会匹配真实订单。
- 该操作是错误初始值校正,不作为业务状态流转,不追加虚假状态历史。
## 实施结果
- 执行 `go run ./cmd/cli repair-mock-gasorder-status`,实际修复 9 条历史 Mock 配送订单。
- Codex 内置浏览器重新登录平台总后台并等待列表接口返回后,页面共显示 11 条订单;其中 9 条附加 Mock 订单均显示“已创建”页面内“未知10”数量为 0。
- 后端执行 `go test ./...``go vet ./...`,均通过。
- 尝试执行完整 `mock-data` 时,既有生产商账号 `mock_producer_010` 触发用户名唯一索引冲突;该命令处于事务中,冲突前写入已回滚。本次未扩大范围处理该无关问题,改用独立幂等修复命令完成状态校正。