Files
cmautobuy/docs/task/158-admin任务展示pdd店铺和客户端名称.md
T
2026-08-11 15:49:31 +08:00

62 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 158 Admin:采集采购列表展示 PDD 店铺和客户端名称
- 类型:需求
- 父级大工单:#14
- 所属 MVP / 版本:#15 / Admin 六模块统一列表体验
- 状态:已完成
- 日期:2026-08-11
- Gitea 工单:<http://ilaer.eicp.net:8418/chengma/cmautobuy/issues/158>
## 背景与目标
采集采购列表原来没有 PDD 店铺,客户端列直接显示稳定客户端 ID。
采购员无法快速核对商品来源店铺,也不容易通过人工设置的设备名称判断执行设备。
## 最终方案
任务列表继续以 `tasks.pdd_goods_id` 和 `tasks.assigned_client` 保存的稳定标识关联
当前档案,不向任务表冗余复制可变名称。查询当前未删除 PDD 商品的 `shop_name`,
并查询客户端当前 `name`。
列表在目标后显示 PDD 店铺;客户端优先显示名称,悬停提示同时包含名称和 ID。
店铺缺失显示 `—`;客户端名称或档案缺失时回退稳定 ID,未分配显示 `—`。
详情分别展示 PDD 店铺、客户端名称和客户端 ID。长文本复用表格截断样式和
`title`,保持 1366×768 下可横向滚动。
## 改了哪些
- `admin/repository/task.go`:列表关联 PDD 店铺和客户端名称;增加详情展示上下文查询。
- `admin/service/task.go`:增加店铺占位、客户端名称优先及 ID 回退显示规则。
- `admin/templates/task/list.html`:增加 PDD 店铺列,客户端显示名称并提供完整提示。
- `admin/templates/task/detail_modal.html`:分别显示客户端名称、客户端 ID 和 PDD 店铺。
- `admin/service/task_test.go`:覆盖正常关联、客户端改名、关联缺失和详情展示。
- `admin/main_test.go`:补充模板列、详情字段和空状态列数约束。
- `docs/admin/05-ui-specification.md`:更新采集采购列表与详情规范。
## 验收结果
| 验收标准 | 结果 |
|---|---|
| 采集和采购任务按 PDD 商品显示当前店铺,缺失显示 `—` | 通过 |
| 客户端优先显示名称,关联缺失回退 ID,未分配显示 `—` | 通过 |
| 长名称使用截断和完整 `title`,不强行压缩表格 | 通过 |
| 任务详情分别显示 PDD 店铺、客户端名称和客户端 ID | 通过 |
| 客户端重命名后显示当前名称,稳定 ID 保持不变 | 通过 |
| 筛选、分页、统计、权限和删除逻辑未改变 | 通过 |
| 未修改数据库结构和 Admin/Client 接口 | 通过 |
| Go 1.23.0 build、test、vet 通过 | 通过 |
## 测试
- 执行的命令:
- `$env:GOTOOLCHAIN="go1.23.0"; go test ./service ./repository . -run 'TestListTasksView|TestGetTaskDetail|TestTaskPage' -count=1`
- `$env:GOTOOLCHAIN="go1.23.0"; go build ./...; go test ./... -count=1; go vet ./...`
- `$env:GOTOOLCHAIN="go1.23.0"; go test ./service -run 'TestListTasksView_显示PDD店铺和客户端名称并保留ID提示|TestListTasksView_关联缺失时店铺占位且客户端回退ID' -count=1`
- 结果:针对性测试和 Admin 全包构建、测试、静态检查通过。
- **没验证到的部分**:未在真实浏览器 1366×768 下人工检查特别长的店铺和客户端名称;
模板静态测试已覆盖截断类、完整 `title` 和空状态列数。
## 相关提交
- `df1287f` feat: 展示任务PDD店铺和客户端名称 (#158)