|
|
@@ -0,0 +1,64 @@
|
|
|
+-- 材料价格采集(手工在目标库执行,仓库无迁移框架)
|
|
|
+-- 表前缀 material_ 已被 TenantLineHandlerImpl.ignoreTable 忽略,数据全局共享。
|
|
|
+--
|
|
|
+
|
|
|
+CREATE TABLE IF NOT EXISTS `material_price_record` (
|
|
|
+ `id` varchar(64) NOT NULL COMMENT '主键',
|
|
|
+ `site_code` varchar(64) NOT NULL COMMENT '站点编码',
|
|
|
+ `site_name` varchar(128) NOT NULL DEFAULT '' COMMENT '站点名称',
|
|
|
+ `category` varchar(64) NOT NULL DEFAULT '' COMMENT '分类',
|
|
|
+ `province` varchar(32) NOT NULL DEFAULT '' COMMENT '省份(筛选用)',
|
|
|
+ `city` varchar(64) NOT NULL DEFAULT '' COMMENT '城市(筛选用,站点无城市信息时为空串)',
|
|
|
+ `material_name` varchar(128) NOT NULL DEFAULT '' COMMENT '物料/指数名称',
|
|
|
+ `spec` varchar(128) NOT NULL DEFAULT '' COMMENT '规格/牌号',
|
|
|
+ `price` decimal(18,4) DEFAULT NULL COMMENT '单值价格',
|
|
|
+ `price_low` decimal(18,4) DEFAULT NULL COMMENT '最低价',
|
|
|
+ `price_high` decimal(18,4) DEFAULT NULL COMMENT '最高价',
|
|
|
+ `price_unit` varchar(32) NOT NULL DEFAULT '' COMMENT '单位',
|
|
|
+ `tax_included` tinyint(1) DEFAULT NULL COMMENT '1含税 0不含税 NULL未声明',
|
|
|
+ `remark` varchar(255) NOT NULL DEFAULT '' COMMENT '站点备注/其他说明原文',
|
|
|
+ `price_date` date NOT NULL COMMENT '数据日期',
|
|
|
+ `source_url` varchar(512) NOT NULL DEFAULT '' COMMENT '来源地址',
|
|
|
+ `batch_no` varchar(64) NOT NULL DEFAULT '' COMMENT '采集批次号',
|
|
|
+ `scraped_at` datetime DEFAULT NULL COMMENT '采集时间',
|
|
|
+ `dedupe_key` varchar(64) NOT NULL COMMENT '幂等键 md5',
|
|
|
+ `create_time` datetime DEFAULT NULL,
|
|
|
+ `create_by_id` varchar(64) DEFAULT NULL,
|
|
|
+ `update_time` datetime DEFAULT NULL,
|
|
|
+ `update_by_id` varchar(64) DEFAULT NULL,
|
|
|
+ `del_flag` int DEFAULT 0,
|
|
|
+ `tenant_id` varchar(64) DEFAULT '10000',
|
|
|
+ PRIMARY KEY (`id`),
|
|
|
+ UNIQUE KEY `uk_mpr_dedupe` (`dedupe_key`),
|
|
|
+ KEY `idx_mpr_query` (`site_code`,`category`,`material_name`,`price_date`),
|
|
|
+ KEY `idx_mpr_province` (`province`,`city`),
|
|
|
+ KEY `idx_mpr_date` (`price_date`)
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='材料价格采集记录';
|
|
|
+
|
|
|
+CREATE TABLE IF NOT EXISTS `material_price_sync_log` (
|
|
|
+ `id` varchar(64) NOT NULL,
|
|
|
+ `batch_no` varchar(64) NOT NULL,
|
|
|
+ `request_date` date DEFAULT NULL COMMENT '任务目标日期;空表示取最新',
|
|
|
+ `price_date` date DEFAULT NULL COMMENT '实际数据日期(各抓取器 dataDate 最大值)',
|
|
|
+ `trigger_type` varchar(16) NOT NULL DEFAULT 'XXL' COMMENT 'XXL/MANUAL',
|
|
|
+ `status` varchar(16) NOT NULL DEFAULT 'RUNNING' COMMENT 'RUNNING/SUCCESS/PARTIAL/NO_DATA/FAILED',
|
|
|
+ `total_count` int DEFAULT 0,
|
|
|
+ `saved_count` int DEFAULT 0,
|
|
|
+ `failed_count` int DEFAULT 0,
|
|
|
+ `site_result` text DEFAULT NULL COMMENT '各抓取器结果 JSON',
|
|
|
+ `error_msg` text,
|
|
|
+ `start_time` datetime DEFAULT NULL,
|
|
|
+ `end_time` datetime DEFAULT NULL,
|
|
|
+ `create_time` datetime DEFAULT NULL,
|
|
|
+ `create_by_id` varchar(64) DEFAULT NULL,
|
|
|
+ `update_time` datetime DEFAULT NULL,
|
|
|
+ `update_by_id` varchar(64) DEFAULT NULL,
|
|
|
+ `del_flag` int DEFAULT 0,
|
|
|
+ `tenant_id` varchar(64) DEFAULT '10000',
|
|
|
+ PRIMARY KEY (`id`),
|
|
|
+ UNIQUE KEY `uk_mpsl_batch` (`batch_no`),
|
|
|
+ KEY `idx_mpsl_date` (`price_date`)
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='材料价格采集日志';
|
|
|
+
|
|
|
+
|
|
|
+
|