Admin:店铺管理收敛为单一店铺名称 #212

Closed
opened 2026-08-13 11:32:56 +08:00 by ila · 3 comments
Owner

基本信息

  • 类型:需求
  • 父级大工单:#206
  • 所属 MVP / 版本:#207
  • 阶段:需求收敛

要解决什么

已确认业务规则:SYB 货运单的 shopName 就是蝦皮店铺名称,不存在业务显示名、SYB 名称、蝦皮名称三套含义。当前店铺管理分别暴露业务店铺、SYB 名称、蝦皮名称和两个启停状态,增加了不必要的理解和维护成本。

做什么 / 不做什么

  • 做:店铺管理每行只维护一个“店铺名称”和一个启停状态;同一名称用于 SYB 准入、蝦皮关联和店铺搜索。
  • 做:保留稳定 shop_id 和上游原始店铺字段,历史精确关联与删除保护不变。
  • 做:兼容已经执行 v18 的数据库,把内部渠道记录收敛到同一个名称和状态。
  • 不做:不做模糊匹配,不把名称为空的数据猜测到某个店铺,不改变采购与 Client 接口。

怎么做

  • shops.display_name/normalized_name 作为唯一产品层店铺名称。
  • 现有 shop_channel_aliases 仅作为 v18 兼容存储,不再暴露成可分别���辑的产品概念;创建和改名时让 SYB、Shopee 内部记录自动保持同名同状态。
  • 追加 MySQL v19 数据收敛迁移,不改写 v18:为每个店铺补齐两个同名内部记录并统一状态,然后按唯一名称精确重建 syb_orders.shop_id 与 shopee_products.shop_id。
  • /shops 页面简化为店铺名称、状态、蝦皮商品数、更新时间和操作;启用表示后续 SYB 同步接受该店铺。
  • 未登记商品数保留为可点击入口,跳转蝦皮页面查看未关联记录。
  • 预计修改 model、repository/shop.go、repository/mysql_db.go、service/shop.go、店铺 handler/template、数据模型与测试。

验收标准

  • 店铺页面只出现一个店铺名称和一个启停状态
  • 新增、改名、启停后 SYB 与蝦皮都使用同一个精确名称
  • 已执行 v18 的数据库可通过追加 v19 收敛且可重放
  • 原始 syb_orders.shop_name、shopee_products.shopee_shop_name 不被覆盖
  • 停用店铺后 SYB 不再接受新数据,历史关联仍可查询
  • 未登记商品数可进入对应蝦皮列表

怎么验证

从 admin/ 使用 Go 1.23.0 执行 go test ./... -count=1、go build ./...;使用独立 _test MySQL 8.4 验证 v18→v19 与重复迁移。

风险和回退

店铺名称控制同步数据准入,迁移只做精确匹配。v18 表保留,不删除原始字段;回退代码���结构仍兼容。

## 基本信息 - 类型:需求 - 父级大工单:#206 - 所属 MVP / 版本:#207 - 阶段:需求收敛 ## 要解决什么 已确认业务规则:SYB 货运单的 shopName 就是蝦皮店铺名称,不存在业务显示名、SYB 名称、蝦皮名称三套含义。当前店铺管理分别暴露业务店铺、SYB 名称、蝦皮名称和两个启停状态,增加了不必要的理解和维护成本。 ## 做什么 / 不做什么 - 做:店铺管理每行只维护一个“店铺名称”和一个启停状态;同一名称用于 SYB 准入、蝦皮关联和店铺搜索。 - 做:保留稳定 shop_id 和上游原始店铺字段,历史精确关联与删除保护不变。 - 做:兼容已经执行 v18 的数据库,把内部渠道记录收敛到同一个名称和状态。 - 不做:不做模糊匹配,不把名称为空的数据猜测到某个店铺,不改变采购与 Client 接口。 ## 怎么做 - shops.display_name/normalized_name 作为唯一产品层店铺名称。 - 现有 shop_channel_aliases 仅作为 v18 兼容存储,不再暴露成可分别���辑的产品概念;创建和改名时让 SYB、Shopee 内部记录自动保持同名同状态。 - 追加 MySQL v19 数据收敛迁移,不改写 v18:为每个店铺补齐两个同名内部记录并统一状态,然后按唯一名称精确重建 syb_orders.shop_id 与 shopee_products.shop_id。 - /shops 页面简化为店铺名称、状态、蝦皮商品数、更新时间和操作;启用表示后续 SYB 同步接受该店铺。 - 未登记商品数保留为可点击入口,跳转蝦皮页面查看未关联记录。 - 预计修改 model、repository/shop.go、repository/mysql_db.go、service/shop.go、店铺 handler/template、数据模型与测试。 ## 验收标准 - [x] 店铺页面只出现一个店铺名称和一个启停状态 - [x] 新增、改名、启停后 SYB 与蝦皮都使用同一个精确名称 - [x] 已执行 v18 的数据库可通过追加 v19 收敛且可重放 - [x] 原始 syb_orders.shop_name、shopee_products.shopee_shop_name 不被覆盖 - [x] 停用店铺后 SYB 不再接受新数据,历史关联仍可查询 - [x] 未登记商品数可进入对应蝦皮列表 ## 怎么验证 从 admin/ 使用 Go 1.23.0 执行 go test ./... -count=1、go build ./...;使用独立 _test MySQL 8.4 验证 v18→v19 与重复迁移。 ## 风险和回退 店铺名称控制同步数据准入,迁移只做精确匹配。v18 表保留,不删除原始字段;回退代码���结构仍兼容。
Author
Owner

????(2026-08-13):????????????????;??? SYB ??????????? shops.normalized_name ????;? shop_channel_aliases ???????????????????? MySQL v19 ??:?? v18 ???????????????,???????????????? SYB/?????????????????????????????????,???????????go build ./...?go test ./... -count=1?go vet ./...(Go 1.23.0)????? MySQL 8 v17?v19 ???????,?????? _test ???,????? SKIP,??????????

????(2026-08-13):????????????????;??? SYB ??????????? shops.normalized_name ????;? shop_channel_aliases ???????????????????? MySQL v19 ??:?? v18 ???????????????,???????????????? SYB/?????????????????????????????????,???????????go build ./...?go test ./... -count=1?go vet ./...(Go 1.23.0)????? MySQL 8 v17?v19 ???????,?????? _test ???,????? SKIP,??????????
Author
Owner

状态:待验收。实现提交 313e9f9;归档提交 121b12a;归档 docs/task/212-店铺管理收敛为单一店铺名称.md。除真实 MySQL 8 v18→v19 运行验证外,其余验收项已完成;该项因当前未启用独立 _test 数据库保留未勾选。

状态:待验收。实现提交 313e9f9;归档提交 121b12a;归档 docs/task/212-店铺管理收敛为单一店铺名称.md。除真实 MySQL 8 v18→v19 运行验证外,其余验收项已完成;该项因当前未启用独立 _test 数据库保留未勾选。
Author
Owner

用户于 2026-08-14 明确验收通过。验收清单已确认,现关闭工单。

用户于 2026-08-14 明确验收通过。验收清单已确认,现关闭工单。
ila closed this issue 2026-08-14 09:21:03 +08:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: chengma/cmautobuy#212