Files
cmautobuy/docs/task/203-syb补全蝦皮店铺和图片.md
T

2.1 KiB

203 Admin:SYB 同步低优先级补全蝦皮店铺和图片

  • 类型:需求
  • 父级大工单:#14
  • 所属 MVP / 版本:#15 后续版本
  • 状态:已完成,待用户验收
  • 日期:2026-08-13
  • Gitea 工单:#203

背景与目标

SYB 明细已经提供蝦皮店铺名和无需登录即可访问的图片 URL,但此前只保存在货运单表, 由 SYB 补建的蝦皮商品缺少这两项。目标是在不覆盖人工和商品目录权威字段的前提下补全。

最终方案

同步写入蝦皮商品骨架时,非空店铺和图片按字段级 syb 低优先级来源写入;只补空值 或更新同来源新观测。商品目录接口可以把 syb 值提升为权威来源。MySQL v15 按每个 商品最新非空观测回填历史数据,迁移可重放。图片仍只保存外部 URL,不代理或缓存。

改了哪些

  • admin/repository/syb.go:统一 SYB 商品元数据写入和历史回填。
  • admin/repository/catalog_import.go:允许目录来源替换 syb 低优先级字段。
  • admin/repository/mysql_db.go:增加 MySQL v15 迁移与自检。
  • admin/repository/syb_test.go:覆盖同来源更新、接口来源和人工字段保护。
  • docs/admin/:更新需求、数据来源优先级和界面基线。

验收结果

验收标准 结果
新同步商品可从 SYB 补全店铺和图片 通过
空值、人工值和接口权威值不被 SYB 覆盖 通过
历史记录通过 v15 幂等回填 代码与迁移测试已补,待独立 MySQL 8.4 库实跑
图片继续使用原始 URL,不落二进制 通过

测试

  • 执行的命令:$env:GOTOOLCHAIN="go1.23.0"; go vet ./...; go build ./...; go test ./... -count=1
  • 结果:通过;未配置 MySQL 集成测试开关时,隔离库测试按设计跳过。
  • 没验证到的部分:真实 MySQL 8.4 首次建库、重复迁移和 v14 升级实跑。已尝试 使用 autobuy_test,但现有 buy 账号无该隔离库权限;未使用生产 autobuy 代测。

相关提交

  • ad1ccc2 完善 SYB 蝦皮主数据与软删除