fix(t238): accept ERP minute timestamps

This commit is contained in:
QiuSW
2026-07-29 14:21:57 +08:00
parent 15b1101941
commit 01be7e7251
6 changed files with 92 additions and 12 deletions
+12 -7
View File
@@ -4,7 +4,7 @@ title: 兼容顺运宝详情分钟精度时间
phase: 2
deps:
- T-237
status: PLANNED
status: DONE
created: 2026-07-29
context_ref: 8d5b88f
work_branch: null
@@ -14,6 +14,7 @@ write_paths:
- docs/current-state.md
- backend-api/internal/usecase/freight_service.go
- backend-api/internal/usecase/freight_service_test.go
- backend-api/internal/transport/httpapi/admin_handlers_test.go
---
## 问题 / 背景
@@ -43,12 +44,12 @@ write_paths:
## 验收要点
- [ ] 详情 `yyyy-MM-dd HH:mm` 可规范化并按 Asia/Shanghai 得到正确 UTC 时间。
- [ ] `yyyy-MM-ddTHH:mm` 同样可解析;既有 RFC3339 和带秒格式不回归。
- [ ] 非法日期和未知格式仍返回错误,不放宽为模糊解析。
- [ ] 完整单号同步不再因已确认的 16 位详情时间返回 `ERP_RESPONSE_INVALID`。
- [ ] 两份真实响应 JSON 保持未跟踪,不进入 Git。
- [ ] 标准 Go 测试、race、vet 和三个入口构建通过。
- [x] 详情 `yyyy-MM-dd HH:mm` 可规范化并按 Asia/Shanghai 得到正确 UTC 时间。
- [x] `yyyy-MM-ddTHH:mm` 同样可解析;既有 RFC3339 和带秒格式不回归。
- [x] 非法日期和未知格式仍返回错误,不放宽为模糊解析。
- [x] 完整单号同步不再因已确认的 16 位详情时间返回 `ERP_RESPONSE_INVALID`。
- [x] 两份真实响应 JSON 保持未跟踪,不进入 Git。
- [x] 标准 Go 测试、race、vet 和三个入口构建通过。
## 边界
@@ -62,3 +63,7 @@ write_paths:
- 2026-07-29:创建任务。以只输出字段名、类型、长度和结构断言的方式检查两份本机响应;
排除 envelope、list、detail id、details、数量、SKU 回退和字段长度,定位为详情
`created` 分钟精度与用例层严格 layout 不一致。
- 2026-07-29:严格增加空格/`T` 分隔的分钟 precision layout,保持 Asia/Shanghai 和 UTC
规范化语义。脱敏单元测试覆盖分钟、秒、RFC3339 和未知格式,Admin/Gin/SQLite 完整单号
集成 fixture 改用分钟精度并返回 `201/SUCCEEDED`。标准 Go 测试、race、vet 及三个入口
构建均通过;两份真实响应 JSON 未暂存。