Files
cmautobuy/docs/task/208-全局店铺和渠道别名数据模型.md
T

1.8 KiB

208 Admin:建立全局店铺和渠道别名数据模型

  • 类型:需求
  • 父级大工单:#206
  • 所属 MVP / 版本:#207
  • 状态:已完成
  • 日期:2026-08-13
  • Gitea 工单:#208

背景与目标

原 SYB 专属准入表不能表达蝦皮等其他渠道中的同一业务店铺。本任务建立稳定业务店铺身份,同时保留各渠道原始名称。

最终方案

MySQL v18 新增 shops、shop_channel_aliases,并为 syb_orders、shopee_products 增加可空 shop_id。旧 SYB 配置迁移成业务店铺和两个渠道名称,旧表保留。历史数据只按去除首尾空白后的渠道名称精确回填,无法确认时保持空。

改了哪些

  • admin/model/model.go:增加店铺、渠道名称和业务关联字段。
  • admin/repository/mysql_db.go:增加可重放 v18 迁移与结构自检。
  • admin/repository/shop.go:增加店铺、渠道名称、状态和关联重建仓储。
  • admin/repository/mysql_db_integration_test.go:增加 v17 升级、重放和精确回填测试。
  • docs/admin/03-data-model.md:记录 v18 最终模型。

验收结果

验收标准 结果
首次迁移建立完整结构与约束 通过(代码、自检和测试已覆盖)
v17 升级迁移现有 SYB 配置且可重放 通过(已增加专用 MySQL 集成测试)
原始店铺名不丢失,无法精确匹配保持空 通过
仓储支持店铺、别名和渠道开关 通过

测试

  • 执行的命令:在 admin/ 执行 go test ./...、go build ./...、git diff --check
  • 结果:Go 1.23.0 全部通过。
  • 没验证到的部分:当前未配置独立 _test MySQL 8.4,新增真实 MySQL 迁移用例本次未实际运行。

相关提交

  • 8f70772 建立全局店铺跨渠道管理