[Epic] Admin:全局店铺主数据与多渠道管理 #206

Open
opened 2026-08-13 10:58:35 +08:00 by ila · 2 comments
Owner

背景

现有 SYB 店铺准入和蝦皮商品店铺信息需要共享稳定身份。业务已经进一步确认:SYB 货运单 shopName 就是蝦皮店铺名称,产品层只有一个店铺名称,不存在渠道别名或业务显示名的区别。

目标

建立独立的全局“店铺管理”能力:每个店铺只有一个名称和一个启停状态;SYB 同步、蝦皮商品关联及搜索共同使用该名称,同时保留来源表中的原始名称和稳定 shop_id。蝦皮页面提供简洁的分类搜索。

非目标

  • 不根据缺失店铺名的商品 ID 猜测店铺。
  • 不做模糊店铺匹配。
  • 不删除来源原始店铺名称。
  • 不改变采购、下单、支付或 Client 接口。

总体方案

  • shops 保存唯一产品层店铺名称和状态;shop_id 继续作为稳定内部关联。
  • v18 渠道表仅保留为兼容存储,不再暴露成独立产品概念;追加 v19 将两侧内部记录收敛为同名同状态。
  • syb_orders、shopee_products 保留原始店铺字段和可空 shop_id,只按统一名称精确关联。
  • 店铺停用后 SYB 不再接受该店铺的新数据;历史关联和查询保留。
  • 店铺管理页面只维护一个名称、一个状态,并提供未登记商品入口。
  • 蝦皮列表移除次要筛选,改为状态 + 分类 + 关键词搜索;软删除通过独立回收站恢复。

阶段路线

  1. 稳定店铺身份与历史精确关联。
  2. SYB 与蝦皮共享单一店铺名称。
  3. 简化店铺管理和蝦皮搜索交互。
  4. 集成回归与验收。

子工单

  • #208 Admin:建立全局店铺和渠道别名数据模型(v18 基础,后由 #212 收敛产品概念)
  • #209 Admin:SYB 同步切换到全局店铺渠道配置(后由 #212 收敛为单一状态)
  • #210 Admin:蝦皮商品关联全局店铺并支持待关联筛选(筛选交互由 #213 调整)
  • #211 Admin:新增独立店铺管理模块(页面由 #212 简化)
  • #212 Admin:店铺管理收敛为单一店铺名称
  • #213 Admin:精简蝦皮筛选并改为分类搜索

依赖、风险和回退

  • 店铺名称决定 SYB 数据准入,只做去除首尾空白后的精确匹配。
  • MySQL 迁移只追加;v18 不改写,v19 可重放后才记录版本。
  • 原始店铺名称和旧兼容表保留,可回退代码且不丢来源数据。
  • 删除、恢复和页面写操作继续使用管理员权限与 CSRF。

最终验收标准

  • 店铺管理只显示���维护一个名称及一个状态。
  • SYB 同步与蝦皮关联使用同一店铺名称,未匹配项不误关联。
  • 蝦皮列表只显示一个店铺列,并可按商品 ID、商品名称、店铺名分类搜索。
  • 软删除数据仍可通过管理员回收站恢复。
  • 历史数据库可从 v18 追加迁移并保持原始名称。
  • Go 1.23.0 回归通过,MySQL 8.4 迁移具备重放和上一版升级测试。
## 背景 现有 SYB 店铺准入和蝦皮商品店铺信息需要共享稳定身份。业务已经进一步确认:SYB 货运单 shopName 就是蝦皮店铺名称,产品层只有一个店铺名称,不存在渠道别名或业务显示名的区别。 ## 目标 建立独立的全局“店铺管理”能力:每个店铺只有一个名称和一个启停状态;SYB 同步、蝦皮商品关联及搜索共同使用该名称,同时保留来源表中的原始名称和稳定 shop_id。蝦皮页面提供简洁的分类搜索。 ## 非目标 - 不根据缺失店铺名的商品 ID 猜测店铺。 - 不做模糊店铺匹配。 - 不删除来源原始店铺名称。 - 不改变采购、下单、支付或 Client 接口。 ## 总体方案 - shops 保存唯一产品层店铺名称和状态;shop_id 继续作为稳定内部关联。 - v18 渠道表仅保留为兼容存储,不再暴露成独立产品概念;追加 v19 将两侧内部记录收敛为同名同状态。 - syb_orders、shopee_products 保留原始店铺字段和可空 shop_id,只按统一名称精确关联。 - 店铺停用后 SYB 不再接受该店铺的新数据;历史关联和查询保留。 - 店铺管理页面只维护一个名称、一个状态,并提供未登记商品入口。 - 蝦皮列表移除次要筛选,改为状态 + 分类 + 关键词搜索;软删除通过独立回收站恢复。 ## 阶段路线 1. 稳定店铺身份与历史精确关联。 2. SYB 与蝦皮共享单一店铺名称。 3. 简化店铺管理和蝦皮搜索交互。 4. 集成回归与验收。 ## 子工单 - [x] #208 Admin:建立全局店铺和渠道别名数据模型(v18 基础,后由 #212 收敛产品概念) - [x] #209 Admin:SYB 同步切换到全局店铺渠道配置(后由 #212 收敛为单一状态) - [x] #210 Admin:蝦皮商品关联全局店铺并支持待关联筛选(筛选交互由 #213 调整) - [x] #211 Admin:新增独立店铺管理模块(页面由 #212 简化) - [x] #212 Admin:店铺管理收敛为单一店铺名称 - [x] #213 Admin:精简蝦皮筛选并改为分类搜索 ## 依赖、风险和回退 - 店铺名称决定 SYB 数据准入,只做去除首尾空白后的精确匹配。 - MySQL 迁移只追加;v18 不改写,v19 可重放后才记录版本。 - 原始店铺名称和旧兼容表保留,可回退代码且不丢来源数据。 - 删除、恢复和页面写操作继续使用管理员权限与 CSRF。 ## 最终验收标准 - 店铺管理只显示���维护一个名称及一个状态。 - SYB 同步与蝦皮关联使用同一店铺名称,未匹配项不误关联。 - 蝦皮列表只显示一个店铺列,并可按商品 ID、商品名称、店铺名分类搜索。 - 软删除数据仍可通过管理员回收站恢复。 - 历史数据库可从 v18 追加迁移并保持原始名称。 - Go 1.23.0 回归通过,MySQL 8.4 迁移具备重放和上一版升级测试。
Author
Owner

MVP 实施进度(2026-08-13)

#208、#209、#210、#211 已完成实现、测试和本地归档,当前均为待验收。

  • 实现提交:8f70772
  • 归档提交:1abed64
  • Go 1.23.0 全量测试和构建通过。
  • 待人工验证:独立 MySQL 8.4 v17→v18 迁移、真实 SYB 同步、生产商品目录批次、1366×768 页面视觉。

父工单清单暂不勾选,待用户验收单元工单后再关闭并同步状态。

## MVP 实施进度(2026-08-13) #208、#209、#210、#211 已完成实现、测试和本地归档,当前均为待验收。 - 实现提交:`8f70772` - 归档提交:`1abed64` - Go 1.23.0 全量测试和构建通过。 - 待人工验证:独立 MySQL 8.4 v17→v18 迁移、真实 SYB 同步、生产商品目录批次、1366×768 页面视觉。 父工单清单暂不勾选,待用户验收单元工单后再关闭并同步状态。
Author
Owner

进度更新:#212、#213 已完成实现与本地归档,当前待用户验收;父工单清单按流程暂不勾选。实现提交 313e9f9,归档提交 121b12a。#212 的真实 MySQL 8 v18→v19 用例因未启用独立 _test 数据库尚未实跑。

进度更新:#212、#213 已完成实现与本地归档,当前待用户验收;父工单清单按流程暂不勾选。实现提交 313e9f9,归档提交 121b12a。#212 的真实 MySQL 8 v18→v19 用例因未启用独立 _test 数据库尚未实跑。
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: chengma/cmautobuy#206