20261104.sql 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. -- 材料价格采集(手工在目标库执行,仓库无迁移框架)
  2. -- 表前缀 material_ 已被 TenantLineHandlerImpl.ignoreTable 忽略,数据全局共享。
  3. --
  4. CREATE TABLE IF NOT EXISTS `material_price_record` (
  5. `id` varchar(64) NOT NULL COMMENT '主键',
  6. `site_code` varchar(64) NOT NULL COMMENT '站点编码',
  7. `site_name` varchar(128) NOT NULL DEFAULT '' COMMENT '站点名称',
  8. `category` varchar(64) NOT NULL DEFAULT '' COMMENT '分类',
  9. `province` varchar(32) NOT NULL DEFAULT '' COMMENT '省份(筛选用)',
  10. `city` varchar(64) NOT NULL DEFAULT '' COMMENT '城市(筛选用,站点无城市信息时为空串)',
  11. `material_name` varchar(128) NOT NULL DEFAULT '' COMMENT '物料/指数名称',
  12. `spec` varchar(128) NOT NULL DEFAULT '' COMMENT '规格/牌号',
  13. `price` decimal(18,4) DEFAULT NULL COMMENT '单值价格',
  14. `price_low` decimal(18,4) DEFAULT NULL COMMENT '最低价',
  15. `price_high` decimal(18,4) DEFAULT NULL COMMENT '最高价',
  16. `price_unit` varchar(32) NOT NULL DEFAULT '' COMMENT '单位',
  17. `tax_included` tinyint(1) DEFAULT NULL COMMENT '1含税 0不含税 NULL未声明',
  18. `price_date` date NOT NULL COMMENT '数据日期',
  19. `source_url` varchar(512) NOT NULL DEFAULT '' COMMENT '来源地址',
  20. `batch_no` varchar(64) NOT NULL DEFAULT '' COMMENT '采集批次号',
  21. `scraped_at` datetime DEFAULT NULL COMMENT '采集时间',
  22. `dedupe_key` varchar(64) NOT NULL COMMENT '幂等键 md5',
  23. `create_time` datetime DEFAULT NULL,
  24. `create_by_id` varchar(64) DEFAULT NULL,
  25. `update_time` datetime DEFAULT NULL,
  26. `update_by_id` varchar(64) DEFAULT NULL,
  27. `del_flag` int DEFAULT 0,
  28. `tenant_id` varchar(64) DEFAULT '10000',
  29. PRIMARY KEY (`id`),
  30. UNIQUE KEY `uk_mpr_dedupe` (`dedupe_key`),
  31. KEY `idx_mpr_query` (`site_code`,`category`,`material_name`,`price_date`),
  32. KEY `idx_mpr_province` (`province`,`city`),
  33. KEY `idx_mpr_date` (`price_date`)
  34. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='材料价格采集记录';
  35. CREATE TABLE IF NOT EXISTS `material_price_sync_log` (
  36. `id` varchar(64) NOT NULL,
  37. `batch_no` varchar(64) NOT NULL,
  38. `request_date` date DEFAULT NULL COMMENT '任务目标日期;空表示取最新',
  39. `range_start` date DEFAULT NULL COMMENT '区间采集开始日;普通定时采集为空',
  40. `range_end` date DEFAULT NULL COMMENT '区间采集结束日;普通定时采集为空',
  41. `price_date` date DEFAULT NULL COMMENT '实际数据日期(各抓取器 dataDate 最大值)',
  42. `trigger_type` varchar(16) NOT NULL DEFAULT 'XXL' COMMENT 'XXL/MANUAL_RANGE',
  43. `status` varchar(16) NOT NULL DEFAULT 'RUNNING' COMMENT 'RUNNING/SUCCESS/PARTIAL/NO_DATA/FAILED',
  44. `total_count` int DEFAULT 0,
  45. `saved_count` int DEFAULT 0,
  46. `failed_count` int DEFAULT 0,
  47. `progress_done` int NOT NULL DEFAULT 0 COMMENT '区间采集已完成分片数',
  48. `progress_total` int NOT NULL DEFAULT 0 COMMENT '区间采集总分片数',
  49. `current_stage` varchar(128) DEFAULT NULL COMMENT '当前阶段,如 hss 2026-06-01~2026-06-07',
  50. `site_result` text DEFAULT NULL COMMENT '各抓取器结果 JSON',
  51. `error_msg` text,
  52. `start_time` datetime DEFAULT NULL,
  53. `end_time` datetime DEFAULT NULL,
  54. `create_time` datetime DEFAULT NULL,
  55. `create_by_id` varchar(64) DEFAULT NULL,
  56. `update_time` datetime DEFAULT NULL,
  57. `update_by_id` varchar(64) DEFAULT NULL,
  58. `del_flag` int DEFAULT 0,
  59. `tenant_id` varchar(64) DEFAULT '10000',
  60. PRIMARY KEY (`id`),
  61. UNIQUE KEY `uk_mpsl_batch` (`batch_no`),
  62. KEY `idx_mpsl_date` (`price_date`)
  63. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='材料价格采集日志';