init.sql 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. CREATE DATABASE IF NOT EXISTS recycle DEFAULT CHARSET utf8mb4;
  2. USE recycle;
  3. /* ================= 分类 ================= */
  4. CREATE TABLE t_chx_category (
  5. id BIGINT AUTO_INCREMENT PRIMARY KEY,
  6. category_id BIGINT NOT NULL,
  7. name VARCHAR(60) NOT NULL,
  8. create_time DATETIME DEFAULT CURRENT_TIMESTAMP
  9. );
  10. /* ================= 机型 ================= */
  11. CREATE TABLE t_machine (
  12. id BIGINT AUTO_INCREMENT PRIMARY KEY,
  13. code VARCHAR(32),
  14. type_id BIGINT,
  15. type_name VARCHAR(100),
  16. brand_id BIGINT,
  17. brand_name VARCHAR(100),
  18. machine_id BIGINT,
  19. name VARCHAR(100),
  20. shrink_name VARCHAR(100),
  21. create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
  22. update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
  23. );
  24. /* ================= 机型模板 ================= */
  25. CREATE TABLE machine_temp (
  26. id BIGINT AUTO_INCREMENT PRIMARY KEY,
  27. machine_id BIGINT,
  28. temp_type VARCHAR(32) DEFAULT '00',
  29. estimate_packet TEXT,
  30. base_template_id BIGINT NULL,
  31. is_custom TINYINT DEFAULT 0,
  32. create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
  33. update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
  34. );
  35. /* ================= 设备情况项 ================= */
  36. CREATE TABLE release_option (
  37. id BIGINT AUTO_INCREMENT PRIMARY KEY,
  38. step_id BIGINT COMMENT '1成色情况 3功能情况',
  39. step_name VARCHAR(50),
  40. option_key_id BIGINT,
  41. option_key_name VARCHAR(60),
  42. option_id BIGINT,
  43. option_name VARCHAR(60),
  44. create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
  45. update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
  46. );
  47. /*
  48. ================= step1设备选项 =================
  49. drop base_template_id BIGINT NOT NULL COMMENT '基础模板ID:99181 / 99198 / 99197',
  50. */
  51. CREATE TABLE step1_attr (
  52. id BIGINT AUTO_INCREMENT PRIMARY KEY,
  53. step TINYINT DEFAULT 1 COMMENT '固定为 step=1',
  54. attr_key VARCHAR(64) NOT NULL COMMENT 'capacity / color / channel / warranty',
  55. attr_name VARCHAR(64) NOT NULL COMMENT '容量 / 颜色 / 购买渠道 / 保修',
  56. value_id BIGINT NOT NULL COMMENT '选项值ID(用于JSON)',
  57. value_name VARCHAR(64) NOT NULL COMMENT '选项值名称',
  58. is_default TINYINT DEFAULT 0 COMMENT '是否默认',
  59. is_normal TINYINT DEFAULT 1 COMMENT '是否正常值',
  60. required TINYINT DEFAULT 1 COMMENT '是否必填',
  61. is_multi TINYINT DEFAULT 0 COMMENT '是否多选',
  62. sort_order INT DEFAULT 0,
  63. is_base_price_attr TINYINT DEFAULT 0 COMMENT '是否用于选择基准价',
  64. create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
  65. update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  66. KEY idx_attr (attr_key)
  67. ) COMMENT='step1 模板属性表';
  68. /* ================= 基础价格 ================= */
  69. CREATE TABLE machine_base_price (
  70. id BIGINT AUTO_INCREMENT PRIMARY KEY,
  71. machine_id BIGINT,
  72. capacity VARCHAR(32),
  73. base_price DECIMAL(10,2),
  74. UNIQUE KEY uk_machine_capacity (machine_id, capacity)
  75. );
  76. /* ================= 扣减系数 ================= */
  77. CREATE TABLE price_option_factor (
  78. id BIGINT AUTO_INCREMENT PRIMARY KEY,
  79. option_id BIGINT,
  80. factor DECIMAL(5,4) DEFAULT 1.0000,
  81. absolute_deduct DECIMAL(10,2) DEFAULT 0,
  82. create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
  83. update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
  84. );
  85. /* ================= 调节系数 ================= */
  86. CREATE TABLE price_adjust_factor (
  87. id BIGINT AUTO_INCREMENT PRIMARY KEY,
  88. level VARCHAR(32),
  89. ref_id BIGINT,
  90. factor DECIMAL(5,4) DEFAULT 1.0000,
  91. create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
  92. update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
  93. );
  94. /* ================ 基础模板 ================= */
  95. CREATE TABLE base_estimate_template (
  96. id BIGINT PRIMARY KEY COMMENT '99181 / 99198 / 99197',
  97. name VARCHAR(64) NOT NULL,
  98. template_json JSON NOT NULL,
  99. template_version INT DEFAULT 1,
  100. remark VARCHAR(255),
  101. create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
  102. update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
  103. );
  104. /* ================= 估价版本 ================= */
  105. CREATE TABLE estimate_version (
  106. id BIGINT AUTO_INCREMENT PRIMARY KEY,
  107. machine_id BIGINT,
  108. version_no VARCHAR(32),
  109. content TEXT,
  110. create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
  111. update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
  112. );
  113. /* ================= 估价记录 ================= */
  114. CREATE TABLE estimate_record (
  115. id BIGINT AUTO_INCREMENT PRIMARY KEY,
  116. machine_id BIGINT,
  117. capacity VARCHAR(32),
  118. option_ids TEXT,
  119. final_price DECIMAL(10,2),
  120. version_no VARCHAR(32),
  121. create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
  122. update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
  123. );