feat(product-commerce): 款式主键统一 style_id 并下线评价采集
采集端与 data-hub 统一用 style_id (= dim_style.id) 关联款式,style_name 降级为显示冗余。
款式主键:
- 14 张采集表加 style_id BIGINT + style_match_method + *_style_id_idx 索引
- 一律逻辑外键:不建 FOREIGN KEY,早期 10 个 *_style_id_fk 在 schema.sql 里幂等 DROP
- loader 下发 dim_style.id;db 层 attach_style_ids / resolve_style_ids_by_product 兜底
- 新增 backfill_style_id.py 三段回填(款名 / 日报按商品 ID / 广告表按 spu_id)
- 新增视图 v_style_id_coverage、v_style_unmatched_product、v_style_unmatched_source
- 实库补录 199 个商品 ID 到 67 款 spus;日报 style_id 覆盖 49.1% -> 79.0%,
tm 广告 99.4% / jd 92.4% / dy 83.2%,其余 11 张 100%
评价采集下线:
- product_reviews 归档为 product_reviews_archived_20261101
- 差评改由 shop.{tmall,jd,dy}_negative_reviews.daily 采集,消费方读 v_negative_reviews
- 删除 import_product_reviews.py / orchestrate_review_collection.py 及相关命令与绑定
- dy_product_scraping 默认流程摘除评论采集,保留 --reviews-only
天猫广告:
- 迁移到独立表 tm_product_ad_daily_metrics,不再写 product_daily_metrics.raw_data
同批附带:
- 光合上传支持天猫新店 new_bag(仅黑曜石系列)
- 京东商智双月日历排除 -diff-month 补位格
- 万相主体搜索词覆盖 STYLE_SEARCH_KEYWORDS
- ERP 部分编码失败时用已成功编码销量兜底,避免整款归零
This commit is contained in:
1 parent
622a609800
commit
6f1c193f4b
50 files changed
+3301
-1150
No files matched your search
@@ -1796,7 +1796,7 @@
|
||||
{
|
||||
"id": "tmall_import",
|
||||
"name": "导入万相台商品广告指标",
|
||||
"description": "解析解压后的商品 CSV,将花费、广告归因成交金额和投产比写入 product_daily_metrics.raw_data.tm_ad_metrics;款式按商品 ID 优先、商品名称精确包含兜底,并记录匹配方式,不覆盖经营日报字段。",
|
||||
"description": "解析解压后的商品 CSV,将花费、广告归因成交金额和投产比写入独立的 tm_product_ad_daily_metrics(每日每商品一行),报表其余指标存 metrics JSON;款式按商品 ID 优先、商品名称精确包含兜底,并记录匹配方式。不再写 product_daily_metrics.raw_data。",
|
||||
"entry": "import_tmall_product_ads.py",
|
||||
"depends_on": [
|
||||
"tmall_download"
|
||||
@@ -1818,13 +1818,13 @@
|
||||
"processing": [
|
||||
"校验 CSV 编码、日期、商品主体和广告指标",
|
||||
"合并同商品同日多计划行",
|
||||
"按平台/日期/商品幂等更新广告 JSON 节点"
|
||||
"按日期/商品幂等写入天猫商品投放日报表"
|
||||
],
|
||||
"destinations": [
|
||||
{
|
||||
"system": "PostgreSQL",
|
||||
"label": "product_daily_metrics.raw_data.tm_ad_metrics",
|
||||
"detail": "由 data-hub 产品生命进程读取并计算广告成交、投产比、电商费比;节点同时保存 style_name/style_match_method"
|
||||
"label": "tm_product_ad_daily_metrics",
|
||||
"detail": "由 data-hub 产品生命进程读取 spend/attributed_deal_amount 计算广告成交、投产比、电商费比;style_name/style_match_method 记录款式匹配,metrics 保留报表全部指标"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2305,7 +2305,7 @@
|
||||
{
|
||||
"id": "upload",
|
||||
"name": "上传所选天猫店铺短视频",
|
||||
"description": "先按前端所选店铺扫描飞书并筛选符合路由的视频附件,再按视频 file_token、目标账号和飞书记录写入 PostgreSQL 附件级发布账本;仅在存在可领取附件时登录对应光合账号上传,已发布附件自动跳过。",
|
||||
"description": "先按前端所选店铺扫描飞书并筛选符合路由的视频附件,再按视频 file_token、目标账号和飞书记录写入 PostgreSQL 附件级发布账本;仅在存在可领取附件时登录对应光合账号上传,已发布附件自动跳过。支持旗舰店、鑫华达专卖店和天猫新店(天猫新店只发黑曜石系列,视频源与其他店铺为同一张飞书表)。",
|
||||
"replay_policy": "idempotent",
|
||||
"data_flow": {
|
||||
"sources": [
|
||||
@@ -2319,11 +2319,11 @@
|
||||
},
|
||||
{
|
||||
"system": "淘宝光合浏览器状态",
|
||||
"label": "旗舰店与箱包店独立账号和 Profile"
|
||||
"label": "旗舰店、箱包店与天猫新店独立账号和 Profile"
|
||||
}
|
||||
],
|
||||
"processing": [
|
||||
"按前端所选旗舰店或箱包店规则筛选飞书记录并拆分视频附件",
|
||||
"按前端所选旗舰店、箱包店或天猫新店规则筛选飞书记录并拆分视频附件;天猫新店仅保留全部款式都属于黑曜石系列的记录",
|
||||
"按视频 file_token、目标账号和飞书记录原子领取未上传附件",
|
||||
"确认存在可上传附件后登录所选店铺账号",
|
||||
"生成标题、关联天猫商品并发布;明确成功后写 published,提交后结果不明写 ambiguous"
|
||||
@@ -2364,7 +2364,7 @@
|
||||
"label": "天猫话题关键词",
|
||||
"hint": "输入完整话题或关键词;例如输入“秋上新”也会匹配并选中“秋上新开拍了”。"
|
||||
},
|
||||
"note": "默认由常驻调度器按 config/schedules.json 每 3 天 14:00 执行;前端仍可手动选择旗舰店或箱包店后执行。脚本先扫描飞书并按所选店铺规则筛选,只有数据库存在可领取附件时才登录对应账号上传。允许同一业务日期重复扫描新增附件,PostgreSQL 附件级账本阻止已发布或结果不明的附件自动重发;框架安全预演不会启动上传脚本。"
|
||||
"note": "默认由常驻调度器按 config/schedules.json 每 3 天 14:00 执行;前端仍可手动选择旗舰店、箱包店或天猫新店后执行。天猫新店账号为gyxx箱包旗舰店:龙虾仔(凭据 GUANGHE_NEW_BAG_USERNAME/GUANGHE_NEW_BAG_PASSWORD),只上传黑曜石系列,视频来源与其他店铺相同。脚本先扫描飞书并按所选店铺规则筛选,只有数据库存在可领取附件时才登录对应账号上传。允许同一业务日期重复扫描新增附件,PostgreSQL 附件级账本阻止已发布或结果不明的附件自动重发;框架安全预演不会启动上传脚本。"
|
||||
},
|
||||
{
|
||||
"id": "product.jd_video_upload",
|
||||
|
||||
Reference in new issue
Block a user