feat(t221): add exact-order erp connector

This commit is contained in:
QiuSW
2026-07-28 22:52:52 +08:00
parent 305dd9f513
commit c524e734fb
16 changed files with 1599 additions and 14 deletions
+16 -5
View File
@@ -4,7 +4,7 @@ title: 顺运宝精确单号 Connector
phase: 2
deps:
- T-220
status: DOING
status: DONE
created: 2026-07-28
context_ref: 78dc595
work_branch: null
@@ -44,10 +44,10 @@ Go 后端不应在 Gin 请求里启动 Python,也不应保存 ERP 密码、Coo
## 验收要点
- [ ] 伪 ERP 响应覆盖验证码约束、登录、分页、重试、安全上限、多货运头和多商品。
- [ ] 精确单号响应具有稳定 schema,商品不被 dict 覆盖或错误关联。
- [ ] API Key 缺失/错误、未登录、未找到、ERP 超时和协议异常返回稳定状态。
- [ ] `pytest`/编译和无网络单测通过;启动脚本不包含秘密。
- [x] 伪 ERP 响应覆盖验证码约束、登录、分页、重试、安全上限、多货运头和多商品。
- [x] 精确单号响应具有稳定 schema,商品不被 dict 覆盖或错误关联。
- [x] API Key 缺失/错误、未登录、未找到、ERP 超时和协议异常返回稳定状态。
- [x] `pytest`/编译和无网络单测通过;启动脚本不包含秘密。
## 边界
@@ -58,3 +58,14 @@ Go 后端不应在 Gin 请求里启动 Python,也不应保存 ERP 密码、Coo
## 执行记录
- 2026-07-28:任务合约已冻结;T-220 完成后领取。
- 2026-07-28:`erp-connector/` 接入 Python 3.10+ 客户端、FastAPI 内部适配、
`normalize_freight_result` 和 loopback 启动脚本。源代码来自同一开发机已用私有
HAR 验证的参考工程;只复制源代码和伪响应测试,没有复制 HAR/真实响应。
- 2026-07-28:API Key 最少 32 UTF-8 字节;captcha/login/query 返回稳定错误码。
query 响应只含 allowlist 字段,多商品按 external item id 稳定排序,冲突重复身份
整批失败。收件人、电话、地址、查询原值和原始对象有负向测试。
- 2026-07-28:在 `erp-connector/` 执行
`$env:PYTHONPATH=(Resolve-Path .\src).Path; python -m pytest -q`,16 项通过;
`python -m compileall -q src tests` 通过。uvicorn 在 `127.0.0.1:18092` 启动,
`curl --noproxy "*" /health` 返回 200 后已停止。根 `.\init.ps1` 通过。
全部验证使用伪凭证且未访问线上 ERP。
+2 -2
View File
@@ -4,7 +4,7 @@ title: 货运信息存储 API 与 Admin 页面
phase: 2
deps:
- T-221
status: TODO
status: DOING
created: 2026-07-28
context_ref: 78dc595
work_branch: null
@@ -65,4 +65,4 @@ write_paths:
## 执行记录
- 2026-07-28:任务合约已冻结,等待 T-221。
- 2026-07-28:任务合约已冻结;T-221 完成后领取。