@@ -0,0 +1,47 @@
|
|||||||
|
# 212 Admin:店铺管理收敛为单一店铺名称
|
||||||
|
|
||||||
|
- 类型:需求
|
||||||
|
- 父级大工单:#206
|
||||||
|
- 所属 MVP / 版本:#207
|
||||||
|
- 状态:已完成
|
||||||
|
- 日期:2026-08-13
|
||||||
|
- Gitea 工单:http://ilaer.eicp.net:8418/chengma/cmautobuy/issues/212
|
||||||
|
|
||||||
|
## 背景与目标
|
||||||
|
|
||||||
|
顺运宝中的店铺名称就是蝦皮店铺名称,原页面同时维护业务店铺、SYB 名称、蝦皮名称及两个启停开关,超出了实际业务概念。本任务把店铺管理收敛为一个名称和一个状态,同时安全兼容已经执行过的 MySQL v18。
|
||||||
|
|
||||||
|
## 最终方案
|
||||||
|
|
||||||
|
`shops.display_name` 是唯一面向用户的店铺名称,同时用于 SYB 同步准入和蝦皮商品关联。匹配仍只忽略首尾空白并做精确比较。`shop_channel_aliases` 暂时作为 v18 兼容表保留,但不再显示或独立编辑;新增、改名和启停时自动维护两条同名同状态记录。
|
||||||
|
|
||||||
|
新增 MySQL v19 迁移。旧全局开关与 SYB 开关只要任一侧停用,合并结果就保持停用,避免升级后意外开放同步;随后重建兼容记录以及 SYB、蝦皮的 `shop_id` 派生关联。店铺管理页只保留名称、状态、蝦皮商品数、更新时间和操作,并提供蝦皮“未登记商品”入口。
|
||||||
|
|
||||||
|
## 改了哪些
|
||||||
|
|
||||||
|
- `admin/repository/mysql_db.go`:新增 v19 数据收敛迁移和启动自检。
|
||||||
|
- `admin/repository/shop.go`、`admin/service/shop.go`:改为按唯一名称匹配,并事务性维护名称、状态和兼容数据。
|
||||||
|
- `admin/repository/syb.go`、`admin/repository/catalog_import.go`:SYB 写入与目录导入直接按唯一店铺名称解析。
|
||||||
|
- `admin/handler/web/shop.go`、`admin/templates/shop/list.html`:精简店铺管理接口与页面,移除独立 SYB 开关和多名称输入。
|
||||||
|
- `admin/model/model.go`、相关测试及 `docs/admin/`:同步模型说明、回归用例和基线文档。
|
||||||
|
|
||||||
|
## 验收结果
|
||||||
|
|
||||||
|
| 验收标准 | 结果 |
|
||||||
|
|---|---|
|
||||||
|
| 店铺管理只显示和编辑一个店铺名称、一个启停状态 | 通过 |
|
||||||
|
| 启用店铺参与 SYB 准入,停用店铺不参与同步 | 通过 |
|
||||||
|
| 蝦皮导入和 SYB 写入按同一名称精确关联 `shop_id` | 通过 |
|
||||||
|
| v19 安全合并 v18 状态并重建同名同状态兼容记录 | 通过(代码、自检和集成用例覆盖) |
|
||||||
|
| 未登记蝦皮商品数量可以进入对应列表 | 通过 |
|
||||||
|
| 仍只允许删除无引用的停用店铺 | 通过 |
|
||||||
|
|
||||||
|
## 测试
|
||||||
|
|
||||||
|
- 执行的命令:在 `admin/` 执行 `$env:GOTOOLCHAIN="go1.23.0"; go build ./...; go test ./... -count=1`,随后执行 `go vet ./...` 和 `git diff --check`。
|
||||||
|
- 结果:Go 1.23.0 构建、全量测试、vet 和差异检查全部通过。
|
||||||
|
- **没验证到的部分**:当前没有启用独立 `_test` MySQL 8 测试库;v17→v19 真实 MySQL 集成用例本次执行为 SKIP,未在生产库执行迁移。
|
||||||
|
|
||||||
|
## 相关提交
|
||||||
|
|
||||||
|
- `313e9f9` 收敛店铺管理和蝦皮分类搜索
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
# 213 Admin:精简蝦皮筛选并改为分类搜索
|
||||||
|
|
||||||
|
- 类型:需求
|
||||||
|
- 父级大工单:#206
|
||||||
|
- 所属 MVP / 版本:#207
|
||||||
|
- 状态:已完成
|
||||||
|
- 日期:2026-08-13
|
||||||
|
- Gitea 工单:http://ilaer.eicp.net:8418/chengma/cmautobuy/issues/213
|
||||||
|
|
||||||
|
## 背景与目标
|
||||||
|
|
||||||
|
蝦皮数据页叠加了店铺有无、图片有无、数据范围、业务店铺、店铺名称等多个控件,并同时显示两个店铺列,与“SYB 店铺名就是蝦皮店铺名”的实际业务不符。本任务精简常用筛选,让采购员按明确字段搜索,同时保留软删除恢复和未登记数据处理能力。
|
||||||
|
|
||||||
|
## 最终方案
|
||||||
|
|
||||||
|
常用工具条保留状态筛选,增加“分类 + 关键词”:分类固定为商品 ID、商品名称和店铺名。商品 ID 使用精确匹配,商品名称和店铺名使用转义后的包含匹配;服务端只走固定白名单分支,不把请求值拼成 SQL 列名。列表只显示一个来源店铺列。
|
||||||
|
|
||||||
|
“数据范围”改为管理员独立“回收站”入口;“未登记商品”使用店铺管理页进入的 `unlinked=1` 内部视图,并显示当前范围与清除入口。翻页、详情弹窗、批量采集、删除和恢复的回跳统一保留 `q`、`search_field`、`status`、`deleted`、`unlinked` 和页码。
|
||||||
|
|
||||||
|
## 改了哪些
|
||||||
|
|
||||||
|
- `admin/repository/shopee.go`:实现白名单分类搜索、未登记和回收站范围,移除旧筛选 SQL。
|
||||||
|
- `admin/service/shopee_list.go`:增加搜索分类解析,精简列表视图和筛选状态判断。
|
||||||
|
- `admin/handler/web/shopee.go`:切换查询参数并完整保留列表上下文。
|
||||||
|
- `admin/templates/shopee/list.html`、`detail_modal.html`:精简工具条和店铺列,增加回收站、未登记提示及隐藏状态字段。
|
||||||
|
- `admin/static/js/app.js`:更新模块状态参数白名单。
|
||||||
|
- `admin/handler/web/pagination_test.go`、`admin/service/shopee_list_test.go`、`admin/main_test.go`:覆盖分类匹配、特殊字符、未登记范围和状态保留。
|
||||||
|
- `docs/admin/05-ui-specification.md`:更新最终交互规范。
|
||||||
|
|
||||||
|
## 验收结果
|
||||||
|
|
||||||
|
| 验收标准 | 结果 |
|
||||||
|
|---|---|
|
||||||
|
| 页面不再显示店铺/图片/数据范围/业务店铺/店铺名称旧筛选 | 通过 |
|
||||||
|
| 分类仅提供商品 ID、商品名称和店铺名 | 通过 |
|
||||||
|
| 商品 ID 精确匹配,名称类包含匹配且正确转义特殊字符 | 通过 |
|
||||||
|
| 分类参数使用白名单,未知值回退商品 ID | 通过 |
|
||||||
|
| 列表只显示一个店铺列 | 通过 |
|
||||||
|
| 管理员仍可通过独立回收站恢复软删除数据 | 通过 |
|
||||||
|
| 未登记入口、翻页、详情和写操作回跳保留有效上下文 | 通过 |
|
||||||
|
|
||||||
|
## 测试
|
||||||
|
|
||||||
|
- 执行的命令:在 `admin/` 执行 `$env:GOTOOLCHAIN="go1.23.0"; go build ./...; go test ./... -count=1`,随后执行 `go vet ./...` 和 `git diff --check`。
|
||||||
|
- 结果:Go 1.23.0 构建、全量测试、vet 和差异检查全部通过。
|
||||||
|
- **没验证到的部分**:未在浏览器中执行人工视觉验收;模板构建、路由、查询和状态保留由自动化测试覆盖。
|
||||||
|
|
||||||
|
## 相关提交
|
||||||
|
|
||||||
|
- `313e9f9` 收敛店铺管理和蝦皮分类搜索
|
||||||
Reference in New Issue
Block a user