feat(t237): import freight orders synchronously
This commit is contained in:
+13
-9
@@ -4,7 +4,7 @@ title: 完整单号货运同步导入
|
||||
phase: 2
|
||||
deps:
|
||||
- T-236
|
||||
status: PLANNED
|
||||
status: DONE
|
||||
created: 2026-07-29
|
||||
context_ref: cf83fb5
|
||||
work_branch: null
|
||||
@@ -45,14 +45,14 @@ Admin 按完整订单号导入 ERP 货运时,当前请求只完成登录预检
|
||||
|
||||
## 验收要点
|
||||
|
||||
- [ ] 完整单号 POST 只在货运头和明细事务提交后返回成功,返回时 run 为 `SUCCEEDED`。
|
||||
- [ ] Admin 成功后跳转 `/freight`,列表立即显示本次货运单;页面不再要求刷新 `RUNNING`。
|
||||
- [ ] 完整单号从请求进入到执行结束最多 55 秒;超时可靠保存 `FAILED/FREIGHT_SYNC_TIMEOUT`。
|
||||
- [ ] ERP、协议、存储和请求取消也可靠保存终态,不复用已取消 context 进行失败收尾。
|
||||
- [ ] 同进程并发完整单号导入快速返回 `FREIGHT_SYNC_BUSY`;幂等成功重放不重复执行。
|
||||
- [ ] 日期范围导入继续返回 `202/PENDING` 并在后台执行。
|
||||
- [ ] HTTP `WriteTimeout` 为 70 秒,覆盖同步业务预算。
|
||||
- [ ] 标准 Go 测试、race、vet 和三个入口构建通过。
|
||||
- [x] 完整单号 POST 只在货运头和明细事务提交后返回成功,返回时 run 为 `SUCCEEDED`。
|
||||
- [x] Admin 成功后跳转 `/freight`,列表立即显示本次货运单;页面不再要求刷新 `RUNNING`。
|
||||
- [x] 完整单号从请求进入到执行结束最多 55 秒;超时可靠保存 `FAILED/FREIGHT_SYNC_TIMEOUT`。
|
||||
- [x] ERP、协议、存储和请求取消也可靠保存终态,不复用已取消 context 进行失败收尾。
|
||||
- [x] 同进程并发完整单号导入快速返回 `FREIGHT_SYNC_BUSY`;幂等成功重放不重复执行。
|
||||
- [x] 日期范围导入继续返回 `202/PENDING` 并在后台执行。
|
||||
- [x] HTTP `WriteTimeout` 为 70 秒,覆盖同步业务预算。
|
||||
- [x] 标准 Go 测试、race、vet 和三个入口构建通过。
|
||||
|
||||
## 边界
|
||||
|
||||
@@ -64,3 +64,7 @@ Admin 按完整订单号导入 ERP 货运时,当前请求只完成登录预检
|
||||
|
||||
- 2026-07-29:创建任务。确认同步化范围仅为完整单号;55 秒是整个单号请求预算,服务端写
|
||||
超时提高至 70 秒。终态收尾、并发拒绝和幂等重放与同步响应一起实现。
|
||||
- 2026-07-29:完整单号改为请求内同步执行,成功 API 返回 `201/SUCCEEDED`、重放返回
|
||||
`200`,Admin 跳转可立即读取的货运列表;日期同步保留 `202` 后台模式。增加 55 秒预算、
|
||||
70 秒 WriteTimeout、单进程并发门、超时/取消独立失败收尾,以及 success/timeout/busy/
|
||||
session/not-found 的稳定 Web/API 映射。标准 Go 测试、race、vet 及三个入口构建均通过。
|
||||
|
||||
Reference in New Issue
Block a user