顺运宝同步已经解析出蝦皮商品 ID、规格原文、数量、台币单价和图片,并保存到 syb_orders;但同步只补建 source='syb' 的蝦皮商品骨架,已有骨架连最新非空标题也不会更新。采购员在蝦皮商品详情中看不到顺运宝历史上出现过的规格和售价。
syb_orders
source='syb'
顺运宝没有可靠的蝦皮 SKU ID,订单价格也是某张货运单当时的历史售价,不能把这些数据伪装成正式 shopee_skus 或商品当前售价,更不能覆盖商品目录接口和人工维护的主数据。
shopee_skus
goods_id + spec_key
api/report
shopee_goods_id + spec_key
spec.SpecKey()
admin/repository/syb.go
admin/templates/shopee/detail_modal.html
syb
从 admin/ 执行固定 Go 1.23 全量 build/test/vet;repository/service 测试覆盖骨架更新来源保护、同单重放、规格汇总和唯一/多重匹配;页面路由测试检查标签与字段;在 MySQL 8.4 _test 库用 EXPLAIN 核对汇总查询。
admin/
_test
EXPLAIN
顺运宝价格是历史订单售价,不是当前商品售价,页面文案和字段命名必须防止误用。回退时可移除详情汇总和骨架标题���新,不删除 syb_orders 历史数据。
c05c4fa
37b8bd4
docs/task/140-顺运宝观测规格.md
go build ./...
go test ./... -count=1
go vet ./...
用户于 2026-08-12 明确验收通过。已确认本地归档 docs/task/140-顺运宝观测规格.md 存在,现关闭工单。
No dependencies set.
The note is not visible to the blocked user.
基本信息
要解决什么
顺运宝同步已经解析出蝦皮商品 ID、规格原文、数量、台币单价和图片,并保存到
syb_orders;但同步只补建source='syb'的蝦皮商品骨架,已有骨架连最新非空标题也不会更新。采购员在蝦皮商品详情中看不到顺运宝历史上出现过的规格和售价。顺运宝没有可靠的蝦皮 SKU ID,订单价格也是某张货运单当时的历史售价,不能把这些数据伪装成正式
shopee_skus或商品当前售价,更不能覆盖商品目录接口和人工维护的主数据。做什么 / 不做什么
goods_id + spec_key汇总的规格原文、最近货运单售价、最近图片、出现订单数、累计数量和最后出现时间;仅对仍为source='syb'的商品骨架安全补充最新非空标题;唯一匹配正式 SKU 时展示其 SKU ID/颜色/尺码。shopee_skus;不把历史货运单售价写成商品当前售价;不覆盖api/report来源标题、人工颜色尺码、PDD 链接或规格映射;不改变 Client 四接口。怎么做
syb_orders按shopee_goods_id + spec_key做数据库汇总读模型;数据量或执行计划证明有必要时再增加专用索引,不提前复制一张观测表。source='syb'骨架;已有记录只有source='syb'且新标题非空时才更新标题和时间,api/report来源完全不动。spec.SpecKey(),不重新引入猜测颜色尺码的解析器。admin/repository/syb.go、新增/扩展蝦皮详情查询 service/view、admin/templates/shopee/detail_modal.html、测试和 Admin 数据模型/UI 文档。验收标准
syb骨架的非空标题。api/report来源商品标题、PDD 关联和正式 SKU 字段不会被顺运宝覆盖。怎么验证
从
admin/执行固定 Go 1.23 全量 build/test/vet;repository/service 测试覆盖骨架更新来源保护、同单重放、规格汇总和唯一/多重匹配;页面路由测试检查标签与字段;在 MySQL 8.4_test库用EXPLAIN核对汇总查询。风险和回退
顺运宝价格是历史订单售价,不是当前商品售价,页面文案和字段命名必须防止误用。回退时可移除详情汇总和骨架标题���新,不删除
syb_orders历史数据。实施完成,等待验收
c05c4fa37b8bd4docs/task/140-顺运宝观测规格.mdgo build ./...、go test ./... -count=1、go vet ./...全部通过。EXPLAIN。用户于 2026-08-12 明确验收通过。已确认本地归档
docs/task/140-顺运宝观测规格.md存在,现关闭工单。