49 lines
2.3 KiB
Markdown
49 lines
2.3 KiB
Markdown
# 模拟配送订单状态修复操作日志
|
||
|
||
操作时间: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` 触发用户名唯一索引冲突;该命令处于事务中,冲突前写入已回滚。本次未扩大范围处理该无关问题,改用独立幂等修复命令完成状态校正。
|