feat(t245): use ERP images as procurement references
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
## 当前快照
|
||||
|
||||
- 日期:2026-07-29
|
||||
- 阶段:T-244 已完成 ERP 图片缺失媒体类型兼容
|
||||
- 阶段:T-245 已完成 ERP 商品图自动作为采购参考图
|
||||
- Git:当前分支为 `main`;T-001 至 T-004、T-101 至 T-104、T-201 至 T-219
|
||||
均按文档提交、实现提交的顺序纳入历史
|
||||
- 生产代码:`android-buyer/` 已接入 Roubao Android 源码
|
||||
@@ -41,13 +41,17 @@
|
||||
货运落库、同步成功和水位推进同事务完成;失败与较旧范围成功不推进水位。Admin
|
||||
可查看查询范围、计数、稳定错误码和最近成功水位。
|
||||
- 采购需求:v13 按货运商品 revision 保存可复核快照;ADMIN 显式确认采购、上传参考
|
||||
图后生成不可变 PENDING 任务。来源变化不会改写任务,Roubao 可沿用现有 claim 流程。
|
||||
图后生成不可变 PENDING 任务。T-245 在当前商品有 `READY` 本地 ERP 缓存图时,将其
|
||||
重新校验并复制为独立 `TASK_REFERENCE`,需求直接进入 `READY`;v17 记录
|
||||
`ERP_FREIGHT_IMAGE`/`MANUAL_UPLOAD` 来源。无图仍进入 `NEEDS_IMAGE`,既有需求可在
|
||||
图片恢复后显式升级;任务生成前可人工替换并清理旧自动副本。来源变化不会改写任务,
|
||||
Roubao 继续使用原 `image_asset_id` 和 claim 流程。
|
||||
- 本机 Android 工具:JDK 17.0.13、Command-line Tools 22.0、SDK 34、
|
||||
Build Tools 34.0.0、Platform Tools/ADB 37.0.0;用户级 SDK 环境变量已设置
|
||||
- Android Studio:未安装;`winget` 静默安装卡住后已终止,不阻塞命令行构建
|
||||
- 测试:T-219 Android Debug/Release 单元测试与构建和根 `init.ps1` 通过;
|
||||
Debug APK `1.4.16 (21)` 已覆盖安装到 PKG110
|
||||
- 后端测试:T-226 至 T-244 已运行 `go test ./...`、`go test -race ./...`、`go vet ./...`
|
||||
- 后端测试:T-226 至 T-245 已运行 `go test ./...`、`go test -race ./...`、`go vet ./...`
|
||||
和三个 Go 入口构建;T-227 增加 Go source 的伪 ERP 会话预检、完整单号、日期分页去重、
|
||||
详情 allowlist 和稳定错误码覆盖;根 `init.ps1` 的 Android 测试/Debug APK 与 Go 标准
|
||||
验证也通过,均未访问真实 ERP;
|
||||
|
||||
+20
-11
@@ -5,7 +5,7 @@ phase: 2
|
||||
deps:
|
||||
- T-243
|
||||
- T-244
|
||||
status: TODO
|
||||
status: DONE
|
||||
created: 2026-07-29
|
||||
context_ref: 9195019
|
||||
work_branch: null
|
||||
@@ -69,17 +69,17 @@ write_paths:
|
||||
|
||||
## 验收要点
|
||||
|
||||
- [ ] 当前商品有 `READY` ERP 图时,创建需求返回 `READY`、独立 asset 和
|
||||
- [x] 当前商品有 `READY` ERP 图时,创建需求返回 `READY`、独立 asset 和
|
||||
`ERP_FREIGHT_IMAGE` 来源。
|
||||
- [ ] 自动 asset 使用不同 storage key;货运缓存图替换不会破坏采购参考图。
|
||||
- [ ] 无可用 ERP 图时返回 `NEEDS_IMAGE`,人工上传路径不回归。
|
||||
- [ ] 资料阻塞时不复制文件、不创建 asset,状态保持 `BLOCKED`。
|
||||
- [ ] 重复创建不产生重复需求/asset;既有 `NEEDS_IMAGE` 可在图片恢复后升级。
|
||||
- [ ] 商品或图片并发变化时无采购 asset、来源记录或孤立复制文件。
|
||||
- [ ] `READY` 需求可人工替换;旧 ERP 自动 asset/文件被清理,任务创建后禁止替换。
|
||||
- [ ] API/SSR 展示参考图来源,生成的采购任务和 Roubao 图片契约不变化。
|
||||
- [ ] 已自动绑定参考图的货运单继续受 T-243 删除保护。
|
||||
- [ ] v17 上下迁移、标准 Go 测试、race、vet 和三个入口构建通过。
|
||||
- [x] 自动 asset 使用不同 storage key;货运缓存图替换不会破坏采购参考图。
|
||||
- [x] 无可用 ERP 图时返回 `NEEDS_IMAGE`,人工上传路径不回归。
|
||||
- [x] 资料阻塞时不复制文件、不创建 asset,状态保持 `BLOCKED`。
|
||||
- [x] 重复创建不产生重复需求/asset;既有 `NEEDS_IMAGE` 可在图片恢复后升级。
|
||||
- [x] 商品或图片并发变化时无采购 asset、来源记录或孤立复制文件。
|
||||
- [x] `READY` 需求可人工替换;旧 ERP 自动 asset/文件被清理,任务创建后禁止替换。
|
||||
- [x] API/SSR 展示参考图来源,生成的采购任务和 Roubao 图片契约不变化。
|
||||
- [x] 已自动绑定参考图的货运单继续受 T-243 删除保护。
|
||||
- [x] v17 上下迁移、标准 Go 测试、race、vet 和三个入口构建通过。
|
||||
|
||||
## 边界
|
||||
|
||||
@@ -96,3 +96,12 @@ write_paths:
|
||||
- 2026-07-29:审计确认当前 `CreateRequest` 对非阻塞商品固定写入 `NEEDS_IMAGE`;ERP
|
||||
缓存图只有 `freight_item_images` 记录,而采购任务要求 `assets` 外键。确定采用独立
|
||||
文件/asset 快照,不共享可变货运 storage key;Roubao 协议无需变化。
|
||||
- 2026-07-29:v17 已增加参考图来源记录;生产组合启用本地 ERP 缓存图复制。SQLite
|
||||
事务复核商品 revision/hash 和图片引用/hash/key 后,原子写 asset、需求及来源;重复
|
||||
创建可升级既有 `NEEDS_IMAGE`,未使用或失败的复制文件由用例补偿清理。
|
||||
- 2026-07-29:人工绑定已支持任务生成前替换自动参考图,提交后清理旧自动 asset/文件;
|
||||
API 返回 `reference_origin`,货运详情显示来源并提供“更换参考图”。任务仍使用既有
|
||||
`image_asset_id`,未改变 Roubao 协议。
|
||||
- 2026-07-29:`go test ./...`、`go test -race ./...`、`go vet ./...` 通过;
|
||||
`go build ./cmd/api`、`go build ./cmd/authctl`、`go build ./cmd/migrate` 通过。
|
||||
测试仅使用运行时生成图片和脱敏 ID,未访问真实 ERP。
|
||||
|
||||
Reference in New Issue
Block a user