feat(t227): query ERP directly from Go
This commit is contained in:
+20
-6
@@ -4,7 +4,7 @@ title: Go 直连顺运宝查询接入货运同步
|
||||
phase: 2
|
||||
deps:
|
||||
- T-226
|
||||
status: TODO
|
||||
status: DONE
|
||||
created: 2026-07-29
|
||||
context_ref: d62a4af
|
||||
work_branch: null
|
||||
@@ -50,11 +50,11 @@ T-226 能在 Go 后端建立受控 ERP 会话,但货运同步仍通过 Python
|
||||
|
||||
## 验收要点
|
||||
|
||||
- [ ] 完整单号、日期范围、重叠水位、分页去重、详情多商品、失败不推进水位均有 Go 集成测试。
|
||||
- [ ] Admin 输入单号后创建异步 run,并由 Go source 直接得到相同规范化货运/明细结果。
|
||||
- [ ] 缺会话显示 `ERP_SESSION_REQUIRED`;不再出现 Connector URL/API Key 相关错误。
|
||||
- [ ] 真实受控单号 smoke 可选且不记录订单内容;未具备凭证时明确标记未运行。
|
||||
- [ ] `go test ./...`、`go test -race ./...`、`go vet ./...` 通过。
|
||||
- [x] 完整单号、日期范围、重叠水位、分页去重、详情多商品、失败不推进水位均有 Go 集成测试。
|
||||
- [x] Admin 输入单号后创建异步 run,并由 Go source 直接得到相同规范化货运/明细结果。
|
||||
- [x] 缺会话显示 `ERP_SESSION_REQUIRED`;运行时不再出现 Connector URL/API Key 相关错误。
|
||||
- [x] 真实受控单号 smoke 可选且不记录订单内容;未具备凭证,明确未运行。
|
||||
- [x] `go test ./...`、`go test -race ./...`、`go vet ./...` 通过。
|
||||
|
||||
## 边界
|
||||
|
||||
@@ -65,3 +65,17 @@ T-226 能在 Go 后端建立受控 ERP 会话,但货运同步仍通过 Python
|
||||
## 执行记录
|
||||
|
||||
- 2026-07-29:由 T-226 依赖创建,等待 Admin 会话能力完成。
|
||||
- 2026-07-29:开始实施;T-226 已由 `a5a61c0` 完成。货运同步保留既有异步 run、
|
||||
日期水位和 SQLite 幂等语义,仅将运行时 `FreightSource` 切换为 Go 直连实现。
|
||||
- 2026-07-29:`SessionManager` 现实现 `FreightSource`;每次查询先以同一 Cookie jar
|
||||
校验 `/am/user/get`,再按 `listTotal -> list -> listByStock?hist=0` 执行。查询上限为
|
||||
100 条、分页为 20 条、详情批量为 100 个 ID;重复的完全相同外部身份去重,缺失详情、
|
||||
冲突身份、超限和协议异常均整批失败。
|
||||
- 2026-07-29:API 进程已直接注入 Go source,不再构造 `erpconnector.Client`。同步失败码
|
||||
调整为 `ERP_NOT_CONFIGURED`、`ERP_SESSION_REQUIRED`、`ERP_FREIGHT_NOT_FOUND`、
|
||||
`ERP_RESPONSE_INVALID`、`ERP_UNAVAILABLE`;旧 Connector 代码和配置仅留待 T-228 删除。
|
||||
- 验证:在 `backend-api/` 执行 `$env:GOTOOLCHAIN='local'; go test ./...; go test -race ./...;`
|
||||
`go vet ./...; go build ./cmd/api; go build ./cmd/migrate; go build ./cmd/authctl`,全部通过。
|
||||
`httptest` 覆盖同 Cookie jar、完整单号、多商品详情、日期分页去重、allowlist、未配置/
|
||||
未登录和稳定错误码;既有 Go 集成测试继续覆盖日期切窗、重叠水位与失败不推进水位。
|
||||
- 未运行:没有读取或使用真实 ERP 凭证,因此未执行真实受控单号 smoke;未记录订单内容。
|
||||
|
||||
Reference in New Issue
Block a user