20261104.sql 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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. `remark` varchar(255) NOT NULL DEFAULT '' COMMENT '站点备注/其他说明原文',
  19. `price_date` date NOT NULL COMMENT '数据日期',
  20. `source_url` varchar(512) NOT NULL DEFAULT '' COMMENT '来源地址',
  21. `batch_no` varchar(64) NOT NULL DEFAULT '' COMMENT '采集批次号',
  22. `scraped_at` datetime DEFAULT NULL COMMENT '采集时间',
  23. `dedupe_key` varchar(64) NOT NULL COMMENT '幂等键 md5',
  24. `create_time` datetime DEFAULT NULL,
  25. `create_by_id` varchar(64) DEFAULT NULL,
  26. `update_time` datetime DEFAULT NULL,
  27. `update_by_id` varchar(64) DEFAULT NULL,
  28. `del_flag` int DEFAULT 0,
  29. `tenant_id` varchar(64) DEFAULT '10000',
  30. PRIMARY KEY (`id`),
  31. UNIQUE KEY `uk_mpr_dedupe` (`dedupe_key`),
  32. KEY `idx_mpr_query` (`site_code`,`category`,`material_name`,`price_date`),
  33. KEY `idx_mpr_province` (`province`,`city`),
  34. KEY `idx_mpr_date` (`price_date`)
  35. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='材料价格采集记录';
  36. CREATE TABLE IF NOT EXISTS `material_price_sync_log` (
  37. `id` varchar(64) NOT NULL,
  38. `batch_no` varchar(64) NOT NULL,
  39. `request_date` date DEFAULT NULL COMMENT '任务目标日期;空表示取最新',
  40. `price_date` date DEFAULT NULL COMMENT '实际数据日期(各抓取器 dataDate 最大值)',
  41. `trigger_type` varchar(16) NOT NULL DEFAULT 'XXL' COMMENT 'XXL/MANUAL',
  42. `status` varchar(16) NOT NULL DEFAULT 'RUNNING' COMMENT 'RUNNING/SUCCESS/PARTIAL/NO_DATA/FAILED',
  43. `total_count` int DEFAULT 0,
  44. `saved_count` int DEFAULT 0,
  45. `failed_count` int DEFAULT 0,
  46. `site_result` text DEFAULT NULL COMMENT '各抓取器结果 JSON',
  47. `error_msg` text,
  48. `start_time` datetime DEFAULT NULL,
  49. `end_time` datetime DEFAULT NULL,
  50. `create_time` datetime DEFAULT NULL,
  51. `create_by_id` varchar(64) DEFAULT NULL,
  52. `update_time` datetime DEFAULT NULL,
  53. `update_by_id` varchar(64) DEFAULT NULL,
  54. `del_flag` int DEFAULT 0,
  55. `tenant_id` varchar(64) DEFAULT '10000',
  56. PRIMARY KEY (`id`),
  57. UNIQUE KEY `uk_mpsl_batch` (`batch_no`),
  58. KEY `idx_mpsl_date` (`price_date`)
  59. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='材料价格采集日志';