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