feat(需求): 撞款重复检查改查数据库——①采集明细先落库再更新文件(V111 biz_shop_data_crawl_item行级明细,归档时countryResults展开,同店同日幂等替换) ②撞款扫描换源直接查明细表(不再解析OSS xlsx,修复旧文件表头差异致4家店静默丢弃) ③存量Excel数据自动迁移(日报快照row_payload优先+OSS宽松表头回退:ASIN码/小写兼容) ④移除84家店铺全量空态注入(重复检查基数=已采集店,超管口径8家) ⑤新增明细聚合/宽松解析单测6个

This commit is contained in:
2026-09-07 02:38:39 +08:00
parent 678605e9fb
commit 5f8c469b8e
24 changed files with 638 additions and 160 deletions
@@ -0,0 +1,25 @@
-- 店铺数据采集行级明细表:采集数据先落库再更新文件,撞款重复检查直接查库(不再解析 Excel)。
-- 语义:每店×每日一份快照(countryResults 展开为行);撞款扫描取每家店最新 business_date 的明细。
CREATE TABLE IF NOT EXISTS biz_shop_data_crawl_item (
id BIGINT NOT NULL AUTO_INCREMENT,
shop_id BIGINT NULL COMMENT '店铺 IDbiz_shop_manage.id',
shop_name VARCHAR(255) NOT NULL COMMENT '规范化店铺名(与结果文件 source_filename 一致)',
group_name VARCHAR(255) NULL COMMENT '归档时店铺分组名快照(多分组「、」连接)',
business_date DATE NOT NULL COMMENT '采集批次日期(每日文件日期)',
country VARCHAR(8) NOT NULL COMMENT '国家站点码(UK/DE/FR/ES/IT,展示层统一中文)',
asin VARCHAR(32) NOT NULL COMMENT 'ASIN',
brand VARCHAR(512) NULL COMMENT '品牌',
price VARCHAR(64) NULL COMMENT '价格(原始文本)',
item_date VARCHAR(64) NULL COMMENT '原「日期」列原文(如 2026年8月15日 上午10:59',
units_sold VARCHAR(64) NULL COMMENT '售出件数(原始文本)',
item_json JSON NULL COMMENT '其余列原文兜底(库存销量/销售排名/浏览量/商品图等)',
result_id BIGINT NULL COMMENT '来源结果文件行 idbiz_file_result.id',
task_id BIGINT NULL COMMENT '来源任务 idbiz_file_task.id',
daily_file_id BIGINT NULL COMMENT '来源每日文件行 idbiz_shop_data_crawl_daily_file.id',
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id),
UNIQUE KEY uk_shop_data_crawl_item_batch (shop_name, business_date, country, asin),
KEY idx_shop_data_crawl_item_asin (asin),
KEY idx_shop_data_crawl_item_shop_date (shop_name, business_date),
KEY idx_shop_data_crawl_item_biz_date (business_date)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='店铺数据采集行级明细(快照批次)';