Authored by meijiajie

调整结构配置多数据源和分片配置

Showing 50 changed files with 881 additions and 555 deletions
@@ -368,13 +368,12 @@ @@ -368,13 +368,12 @@
368 </dependencyManagement> 368 </dependencyManagement>
369 369
370 <modules> 370 <modules>
371 - <module>scm-admin</module> 371 + <module>scm-platform-server</module>
  372 + <module>scm-supplier-server</module>
  373 + <module>scm-garage-server</module>
372 <module>scm-framework</module> 374 <module>scm-framework</module>
373 <module>scm-system</module> 375 <module>scm-system</module>
374 <module>scm-extend</module> 376 <module>scm-extend</module>
375 - <module>scm-framework/scm-redis</module>  
376 - <module>scm-framework/scm-ratelimiter</module>  
377 - <module>scm-framework/scm-encrypt</module>  
378 </modules> 377 </modules>
379 <packaging>pom</packaging> 378 <packaging>pom</packaging>
380 379
@@ -14,7 +14,7 @@ spring: @@ -14,7 +14,7 @@ spring:
14 datasource: 14 datasource:
15 type: com.zaxxer.hikari.HikariDataSource 15 type: com.zaxxer.hikari.HikariDataSource
16 driver-class-name: com.mysql.cj.jdbc.Driver 16 driver-class-name: com.mysql.cj.jdbc.Driver
17 - url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai 17 + url: jdbc:mysql://192.168.1.18:3306/fp_scm?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
18 username: root 18 username: root
19 password: root 19 password: root
20 hikari: 20 hikari:
@@ -13,14 +13,18 @@ @@ -13,14 +13,18 @@
13 13
14 <modules> 14 <modules>
15 <module>scm-common</module> 15 <module>scm-common</module>
  16 + <module>scm-core</module>
  17 + <module>scm-encrypt</module>
16 <module>scm-generator</module> 18 <module>scm-generator</module>
17 <module>scm-job</module> 19 <module>scm-job</module>
18 <module>scm-mybatis</module> 20 <module>scm-mybatis</module>
19 <module>scm-oss</module> 21 <module>scm-oss</module>
20 - <module>scm-sms</module>  
21 - <module>scm-core</module> 22 + <module>scm-ratelimiter</module>
  23 + <module>scm-redis</module>
22 <module>scm-security</module> 24 <module>scm-security</module>
  25 + <module>scm-sms</module>
23 <module>scm-web</module> 26 <module>scm-web</module>
  27 +
24 </modules> 28 </modules>
25 29
26 30
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project xmlns="http://maven.apache.org/POM/4.0.0"
  3 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5 + <modelVersion>4.0.0</modelVersion>
  6 + <parent>
  7 + <groupId>com.scm</groupId>
  8 + <artifactId>fp_scm</artifactId>
  9 + <version>4.8.2</version>
  10 + </parent>
  11 +
  12 + <groupId>com.ruoyi.encrypt</groupId>
  13 + <artifactId>scm-garage-server</artifactId>
  14 +
  15 + <properties>
  16 + <maven.compiler.source>11</maven.compiler.source>
  17 + <maven.compiler.target>11</maven.compiler.target>
  18 + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  19 + </properties>
  20 +
  21 +</project>
@@ -9,7 +9,7 @@ @@ -9,7 +9,7 @@
9 </parent> 9 </parent>
10 <modelVersion>4.0.0</modelVersion> 10 <modelVersion>4.0.0</modelVersion>
11 <packaging>jar</packaging> 11 <packaging>jar</packaging>
12 - <artifactId>scm-admin</artifactId> 12 + <artifactId>scm-platform-server</artifactId>
13 13
14 <description> 14 <description>
15 web服务入口 15 web服务入口
@@ -2,6 +2,7 @@ package com.ruoyi; @@ -2,6 +2,7 @@ package com.ruoyi;
2 2
3 import org.springframework.boot.SpringApplication; 3 import org.springframework.boot.SpringApplication;
4 import org.springframework.boot.autoconfigure.SpringBootApplication; 4 import org.springframework.boot.autoconfigure.SpringBootApplication;
  5 +import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
5 import org.springframework.boot.context.metrics.buffering.BufferingApplicationStartup; 6 import org.springframework.boot.context.metrics.buffering.BufferingApplicationStartup;
6 7
7 /** 8 /**
@@ -11,14 +12,14 @@ import org.springframework.boot.context.metrics.buffering.BufferingApplicationSt @@ -11,14 +12,14 @@ import org.springframework.boot.context.metrics.buffering.BufferingApplicationSt
11 */ 12 */
12 13
13 @SpringBootApplication 14 @SpringBootApplication
14 -public class RuoYiApplication { 15 +public class PlatformApplication {
15 16
16 public static void main(String[] args) { 17 public static void main(String[] args) {
17 System.setProperty("spring.devtools.restart.enabled", "false"); 18 System.setProperty("spring.devtools.restart.enabled", "false");
18 - SpringApplication application = new SpringApplication(RuoYiApplication.class); 19 + SpringApplication application = new SpringApplication(PlatformApplication.class);
19 application.setApplicationStartup(new BufferingApplicationStartup(2048)); 20 application.setApplicationStartup(new BufferingApplicationStartup(2048));
20 application.run(args); 21 application.run(args);
21 - System.out.println("(♥◠‿◠)ノ゙ RuoYi-Vue-Plus启动成功 ლ(´ڡ`ლ)゙"); 22 + System.out.println("FP SCM running successful...");
22 } 23 }
23 24
24 } 25 }
@@ -8,11 +8,11 @@ import org.springframework.boot.web.servlet.support.SpringBootServletInitializer @@ -8,11 +8,11 @@ import org.springframework.boot.web.servlet.support.SpringBootServletInitializer
8 * 8 *
9 * @author ruoyi 9 * @author ruoyi
10 */ 10 */
11 -public class RuoYiServletInitializer extends SpringBootServletInitializer { 11 +public class PlatformServletInitializer extends SpringBootServletInitializer {
12 12
13 @Override 13 @Override
14 protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { 14 protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
15 - return application.sources(RuoYiApplication.class); 15 + return application.sources(PlatformApplication.class);
16 } 16 }
17 17
18 } 18 }
@@ -42,24 +42,6 @@ spring: @@ -42,24 +42,6 @@ spring:
42 primary: master 42 primary: master
43 # 严格模式 匹配不到数据源则报错 43 # 严格模式 匹配不到数据源则报错
44 strict: true 44 strict: true
45 - datasource:  
46 - # 主库数据源  
47 - master:  
48 - type: ${spring.datasource.type}  
49 - driverClassName: com.mysql.cj.jdbc.Driver  
50 - # jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562  
51 - # rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)  
52 - url: jdbc:mysql://192.168.1.19:3306/ruoyi-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true  
53 - username: root  
54 - password: root  
55 - # 从库数据源  
56 - slave:  
57 - lazy: true  
58 - type: ${spring.datasource.type}  
59 - driverClassName: com.mysql.cj.jdbc.Driver  
60 - url: jdbc:mysql://192.168.1.19:3306/ruoyi-vue2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true  
61 - username: root  
62 - password: root  
63 hikari: 45 hikari:
64 # 最大连接池数量 46 # 最大连接池数量
65 maxPoolSize: 20 47 maxPoolSize: 20
@@ -75,21 +57,34 @@ spring: @@ -75,21 +57,34 @@ spring:
75 maxLifetime: 1800000 57 maxLifetime: 1800000
76 # 多久检查一次连接的活性 58 # 多久检查一次连接的活性
77 keepaliveTime: 30000 59 keepaliveTime: 30000
  60 + datasource:
  61 + # 主库数据源
  62 + master:
  63 + type: com.zaxxer.hikari.HikariDataSource
  64 + driver-class-name: com.mysql.cj.jdbc.Driver
  65 + # jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
  66 + # rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
  67 + url: jdbc:mysql://192.168.1.18:3306/fp_scm?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
  68 + username: root
  69 + password: root
  70 + # 从库数据源
  71 + slave:
  72 + lazy: true
  73 + type: com.zaxxer.hikari.HikariDataSource
  74 + driver-class-name: com.mysql.cj.jdbc.Driver
  75 + url: jdbc:mysql://192.168.1.18:3306/fp_scm2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
  76 + username: root
  77 + password: root
78 shardingsphere: 78 shardingsphere:
79 datasource: 79 datasource:
80 - names: ds0,ds1 80 + names: ds0
81 ds0: 81 ds0:
82 type: com.zaxxer.hikari.HikariDataSource 82 type: com.zaxxer.hikari.HikariDataSource
83 driver-class-name: com.mysql.cj.jdbc.Driver 83 driver-class-name: com.mysql.cj.jdbc.Driver
84 - url: jdbc:mysql://192.168.1.19:3306/ruoyi-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true  
85 - username: root  
86 - password: root  
87 - ds1:  
88 - type: com.zaxxer.hikari.HikariDataSource  
89 - driver-class-name: com.mysql.cj.jdbc.Driver  
90 - url: jdbc:mysql://192.168.1.19:3306/ruoyi-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true 84 + url: jdbc:mysql://192.168.1.18:3306/fp_scm?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
91 username: root 85 username: root
92 password: root 86 password: root
  87 +
93 rules: # 配置表规则 88 rules: # 配置表规则
94 sharding: 89 sharding:
95 # 表策略配置 90 # 表策略配置
@@ -125,7 +120,7 @@ spring: @@ -125,7 +120,7 @@ spring:
125 spring: 120 spring:
126 redis: 121 redis:
127 # 地址 122 # 地址
128 - host: 192.168.1.19 123 + host: 192.168.1.18
129 # 端口,默认为6379 124 # 端口,默认为6379
130 port: 6379 125 port: 6379
131 # 数据库索引 126 # 数据库索引
@@ -258,6 +258,9 @@ lock4j: @@ -258,6 +258,9 @@ lock4j:
258 258
259 --- # Actuator 监控端点的配置项 259 --- # Actuator 监控端点的配置项
260 management: 260 management:
  261 + health:
  262 + db:
  263 + enabled: false # 禁用所有数据源的健康检查
261 endpoints: 264 endpoints:
262 web: 265 web:
263 exposure: 266 exposure:
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project xmlns="http://maven.apache.org/POM/4.0.0"
  3 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5 + <modelVersion>4.0.0</modelVersion>
  6 + <parent>
  7 + <groupId>com.scm</groupId>
  8 + <artifactId>fp_scm</artifactId>
  9 + <version>4.8.2</version>
  10 + </parent>
  11 +
  12 + <groupId>com.ruoyi.encrypt</groupId>
  13 + <artifactId>scm-supplier-server</artifactId>
  14 +
  15 + <properties>
  16 + <maven.compiler.source>11</maven.compiler.source>
  17 + <maven.compiler.target>11</maven.compiler.target>
  18 + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  19 + </properties>
  20 +
  21 +</project>
1 --- 为方便建表,暂时禁用外键检查(可选,但对于不维护外键的情况影响不大)  
2 -SET FOREIGN_KEY_CHECKS = 0;  
3 -  
4 --- 2. 汽修厂相关表  
5 --- garage (汽修厂信息表)  
6 -DROP TABLE IF EXISTS `garage`;  
7 -CREATE TABLE `garage`  
8 -(  
9 - `garage_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '汽修厂ID',  
10 - `garage_name` VARCHAR(100) NOT NULL COMMENT '汽修厂名称',  
11 - `contact_name` VARCHAR(50) NOT NULL COMMENT '负责人名称',  
12 - `contact_phone` VARCHAR(20) NOT NULL UNIQUE COMMENT '负责人手机号码',  
13 - `password` VARCHAR(255) NOT NULL COMMENT '密码',  
14 - `status` CHAR(1) NOT NULL DEFAULT '0' COMMENT '状态(0:正常, 1:禁用)',  
15 - `last_login_time` DATETIME DEFAULT NULL COMMENT '最后登录时间',  
16 - `level` INT(11) NOT NULL DEFAULT 1 COMMENT '等级',  
17 - `wechat_openid` VARCHAR(50) UNIQUE DEFAULT NULL COMMENT '微信OpenID',  
18 - `province` VARCHAR(50) DEFAULT NULL COMMENT '省',  
19 - `city` VARCHAR(50) DEFAULT NULL COMMENT '市',  
20 - `district` VARCHAR(50) DEFAULT NULL COMMENT '区',  
21 - `address` VARCHAR(255) DEFAULT NULL COMMENT '详细地址',  
22 - `create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',  
23 - `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
24 - `update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',  
25 - `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
26 - PRIMARY KEY (`garage_id`),  
27 - KEY `idx_contact_phone` (`contact_phone`)  
28 -) ENGINE = InnoDB  
29 - AUTO_INCREMENT = 1  
30 - DEFAULT CHARSET = utf8mb4 COMMENT ='汽修厂信息表';  
31 -  
32 --- garage_account (汽修厂账户表)  
33 -DROP TABLE IF EXISTS `garage_account`;  
34 -CREATE TABLE `garage_account`  
35 -(  
36 - `account_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '账户ID',  
37 - `garage_id` BIGINT(20) NOT NULL UNIQUE COMMENT '汽修厂ID',  
38 - `balance` DECIMAL(10, 2) NOT NULL DEFAULT 0.00 COMMENT '余额',  
39 - `account_status` CHAR(1) NOT NULL DEFAULT '0' COMMENT '账户状态(0:正常, 1:冻结)',  
40 - `create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',  
41 - `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
42 - `update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',  
43 - `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
44 - PRIMARY KEY (`account_id`),  
45 - KEY `idx_garage_id` (`garage_id`)  
46 -) ENGINE = InnoDB  
47 - AUTO_INCREMENT = 1  
48 - DEFAULT CHARSET = utf8mb4 COMMENT ='汽修厂账户表';  
49 -  
50 --- garage_account_flow (汽修厂账户流水表)  
51 -DROP TABLE IF EXISTS `garage_account_flow`;  
52 -CREATE TABLE `garage_account_flow`  
53 -(  
54 - `flow_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '流水ID',  
55 - `account_id` BIGINT(20) NOT NULL COMMENT '账户ID',  
56 - `garage_id` BIGINT(20) NOT NULL COMMENT '汽修厂ID',  
57 - `amount` DECIMAL(10, 2) NOT NULL COMMENT '金额',  
58 - `balance` DECIMAL(10,2) NOT NULL COMMENT '余额',  
59 - `flow_type` CHAR(1) NOT NULL COMMENT '流水类型(0:收入, 1:支出)',  
60 - `biz_type` CHAR(1) NOT NULL COMMENT '业务类型(0:充值, 1:提现, 2:支付, 3:退款)',  
61 - `biz_id` BIGINT(20) DEFAULT NULL COMMENT '业务ID(订单ID、充值单ID等)',  
62 - `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',  
63 - `create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',  
64 - `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
65 - `update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',  
66 - `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
67 - PRIMARY KEY (`flow_id`),  
68 - KEY `idx_account_id` (`account_id`),  
69 - KEY `idx_garage_id` (`garage_id`)  
70 -) ENGINE = InnoDB  
71 - AUTO_INCREMENT = 1  
72 - DEFAULT CHARSET = utf8mb4 COMMENT ='汽修厂账户流水表';  
73 -  
74 --- 3. 汽配厂家相关表  
75 --- supplier (汽配厂家信息表)  
76 -DROP TABLE IF EXISTS `supplier`;  
77 -CREATE TABLE `supplier`  
78 -(  
79 - `supplier_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '汽配厂家ID',  
80 - `company_name` VARCHAR(100) NOT NULL COMMENT '公司名称',  
81 - `shop_name` VARCHAR(100) NOT NULL COMMENT '店铺名称',  
82 - `province` VARCHAR(50) NOT NULL COMMENT '省',  
83 - `city` VARCHAR(50) NOT NULL COMMENT '市',  
84 - `district` VARCHAR(50) NOT NULL COMMENT '区',  
85 - `address` VARCHAR(255) NOT NULL COMMENT '详细地址',  
86 - `license_oss_id` BIGINT(20) DEFAULT NULL COMMENT '营业执照照片OSS ID',  
87 - `legal_person_id_front_oss_id` BIGINT(20) DEFAULT NULL COMMENT '法人身份证正面OSS ID',  
88 - `legal_person_id_back_oss_id` BIGINT(20) DEFAULT NULL COMMENT '法人身份证反面OSS ID',  
89 - `office_photo_1_oss_id` BIGINT(20) DEFAULT NULL COMMENT '办公场所照片1 OSS ID',  
90 - `office_photo_2_oss_id` BIGINT(20) DEFAULT NULL COMMENT '办公场所照片2 OSS ID',  
91 - `office_photo_3_oss_id` BIGINT(20) DEFAULT NULL COMMENT '办公场所照片3 OSS ID',  
92 - `main_car_brands` VARCHAR(500) DEFAULT NULL COMMENT '主营车型品牌(多选,逗号分隔)',  
93 - `contact_name` VARCHAR(50) NOT NULL COMMENT '联系人名称',  
94 - `contact_phone` VARCHAR(20) NOT NULL UNIQUE COMMENT '联系人电话',  
95 - `email` VARCHAR(100) DEFAULT NULL COMMENT '电子邮箱',  
96 - `level` INT(11) NOT NULL DEFAULT 1 COMMENT '等级',  
97 - `status` CHAR(1) NOT NULL DEFAULT '0' COMMENT '状态(0:正常, 1:禁用, 2:待审核)',  
98 - `create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',  
99 - `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
100 - `update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',  
101 - `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
102 - PRIMARY KEY (`supplier_id`),  
103 - KEY `idx_contact_phone` (`contact_phone`),  
104 - KEY `idx_company_name` (`company_name`)  
105 -) ENGINE = InnoDB  
106 - AUTO_INCREMENT = 1  
107 - DEFAULT CHARSET = utf8mb4 COMMENT ='汽配厂家信息表';  
108 -  
109 --- supplier_user (汽配厂家用户表)  
110 -DROP TABLE IF EXISTS `supplier_user`;  
111 -CREATE TABLE `supplier_user`  
112 -(  
113 - `user_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID',  
114 - `supplier_id` BIGINT(20) NOT NULL COMMENT '汽配厂家ID',  
115 - `username` VARCHAR(50) NOT NULL COMMENT '名称',  
116 - `phone` VARCHAR(20) NOT NULL UNIQUE COMMENT '手机号',  
117 - `password` VARCHAR(255) NOT NULL COMMENT '密码',  
118 - `status` CHAR(1) NOT NULL DEFAULT '0' COMMENT '状态(0:正常, 1:禁用)',  
119 - `last_login_time` DATETIME DEFAULT NULL COMMENT '最后登录时间',  
120 - `wechat_openid` VARCHAR(50) UNIQUE DEFAULT NULL COMMENT '微信OpenID',  
121 - `create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',  
122 - `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
123 - `update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',  
124 - `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
125 - PRIMARY KEY (`user_id`),  
126 - KEY `idx_supplier_id` (`supplier_id`),  
127 - KEY `idx_phone` (`phone`)  
128 -) ENGINE = InnoDB  
129 - AUTO_INCREMENT = 1  
130 - DEFAULT CHARSET = utf8mb4 COMMENT ='汽配厂家用户表';  
131 -  
132 --- supplier_account (汽配厂家账户表)  
133 -DROP TABLE IF EXISTS `supplier_account`;  
134 -CREATE TABLE `supplier_account`  
135 -(  
136 - `account_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '账户ID',  
137 - `supplier_id` BIGINT(20) NOT NULL UNIQUE COMMENT '汽配厂家ID',  
138 - `balance` DECIMAL(10, 2) NOT NULL DEFAULT 0.00 COMMENT '余额',  
139 - `account_status` CHAR(1) NOT NULL DEFAULT '0' COMMENT '账户状态(0:正常, 1:冻结)',  
140 - `create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',  
141 - `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
142 - `update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',  
143 - `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
144 - PRIMARY KEY (`account_id`),  
145 - KEY `idx_supplier_id` (`supplier_id`)  
146 -) ENGINE = InnoDB  
147 - AUTO_INCREMENT = 1  
148 - DEFAULT CHARSET = utf8mb4 COMMENT ='汽配厂家账户表';  
149 -  
150 --- supplier_account_flow (汽配厂家账户流水表)  
151 -DROP TABLE IF EXISTS `supplier_account_flow`;  
152 -CREATE TABLE `supplier_account_flow`  
153 -(  
154 - `flow_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '流水ID',  
155 - `account_id` BIGINT(20) NOT NULL COMMENT '账户ID',  
156 - `supplier_id` BIGINT(20) NOT NULL COMMENT '汽配厂家ID',  
157 - `amount` DECIMAL(10, 2) NOT NULL COMMENT '金额',  
158 - `balance` DECIMAL(10,2) NOT NULL COMMENT '余额',  
159 - `flow_type` CHAR(1) NOT NULL COMMENT '流水类型(0:收入, 1:支出)',  
160 - `biz_type` CHAR(1) NOT NULL COMMENT '业务类型(0:充值, 1:提现, 2:订单收款, 3:订单退款)',  
161 - `biz_id` BIGINT(20) DEFAULT NULL COMMENT '业务ID(订单ID、充值单ID等)',  
162 - `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',  
163 - `create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',  
164 - `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
165 - `update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',  
166 - `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
167 - PRIMARY KEY (`flow_id`),  
168 - KEY `idx_account_id` (`account_id`),  
169 - KEY `idx_supplier_id` (`supplier_id`)  
170 -) ENGINE = InnoDB  
171 - AUTO_INCREMENT = 1  
172 - DEFAULT CHARSET = utf8mb4 COMMENT ='汽配厂家账户流水表';  
173 -  
174 --- 4. 商品/配件相关表  
175 --- car_model (汽车车型信息表)  
176 -DROP TABLE IF EXISTS `car_model`;  
177 -CREATE TABLE `car_model`  
178 -(  
179 - `model_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '车型ID',  
180 - `brand_name` VARCHAR(50) NOT NULL COMMENT '品牌名称',  
181 - `series_name` VARCHAR(50) NOT NULL COMMENT '车系名称',  
182 - `model_name` VARCHAR(100) NOT NULL COMMENT '车型名称',  
183 - `create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',  
184 - `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
185 - `update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',  
186 - `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
187 - PRIMARY KEY (`model_id`),  
188 - KEY `idx_brand_series` (`brand_name`, `series_name`)  
189 -) ENGINE = InnoDB  
190 - AUTO_INCREMENT = 1  
191 - DEFAULT CHARSET = utf8mb4 COMMENT ='汽车车型信息表';  
192 -  
193 --- parts_category (配件类目表)  
194 -DROP TABLE IF EXISTS `parts_category`;  
195 -CREATE TABLE `parts_category`  
196 -(  
197 - `category_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '类目ID',  
198 - `parent_id` BIGINT(20) NOT NULL DEFAULT 0 COMMENT '父类目ID',  
199 - `category_name` VARCHAR(100) NOT NULL COMMENT '类目名称',  
200 - `sort_order` INT(11) DEFAULT 0 COMMENT '排序',  
201 - `create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',  
202 - `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
203 - `update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',  
204 - `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
205 - PRIMARY KEY (`category_id`),  
206 - KEY `idx_parent_id` (`parent_id`)  
207 -) ENGINE = InnoDB  
208 - AUTO_INCREMENT = 1  
209 - DEFAULT CHARSET = utf8mb4 COMMENT ='配件类目表';  
210 -  
211 --- parts_info (配件信息表)  
212 -DROP TABLE IF EXISTS `parts_info`;  
213 -CREATE TABLE `parts_info`  
214 -(  
215 - `part_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '配件ID',  
216 - `category_id` BIGINT(20) NOT NULL COMMENT '类目ID',  
217 - `part_name` VARCHAR(255) NOT NULL COMMENT '配件名称',  
218 - `part_code` VARCHAR(50) UNIQUE DEFAULT NULL COMMENT '配件编码',  
219 - `unit` VARCHAR(20) DEFAULT NULL COMMENT '单位',  
220 - `description` TEXT DEFAULT NULL COMMENT '描述',  
221 - `main_image_oss_id` BIGINT(20) DEFAULT NULL COMMENT '主图OSS ID',  
222 - `status` CHAR(1) NOT NULL DEFAULT '0' COMMENT '状态(0:正常, 1:下架)',  
223 - `create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',  
224 - `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
225 - `update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',  
226 - `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
227 - PRIMARY KEY (`part_id`),  
228 - KEY `idx_category_id` (`category_id`),  
229 - KEY `idx_part_code` (`part_code`),  
230 - KEY `idx_part_name` (`part_name`)  
231 -) ENGINE = InnoDB  
232 - AUTO_INCREMENT = 1  
233 - DEFAULT CHARSET = utf8mb4 COMMENT ='配件信息表';  
234 -  
235 -  
236 --- 5. 询价单与报价相关表 (原分类,此处为方便结构阅读,购物车通常与用户和商品关联)  
237 --- shopping_cart (购物车表)  
238 -DROP TABLE IF EXISTS `shopping_cart`;  
239 -CREATE TABLE `shopping_cart` (  
240 - `cart_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '购物车ID',  
241 - `garage_id` BIGINT(20) NOT NULL COMMENT '汽修厂ID (对应购买方)',  
242 - `part_id` BIGINT(20) NOT NULL COMMENT '配件ID',  
243 - `quantity` INT(11) NOT NULL DEFAULT 1 COMMENT '数量',  
244 - `quality_requirement` CHAR(1) DEFAULT NULL COMMENT '品质要求(0:原厂件, 1:品牌件, 2:配套件, 3:拆车件)',  
245 - `added_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '加入购物车时间',  
246 - `create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',  
247 - `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
248 - `update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',  
249 - `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
250 - PRIMARY KEY (`cart_id`),  
251 - UNIQUE KEY `uk_garage_part` (`garage_id`, `part_id`, `quality_requirement`), -- 确保同一个汽修厂对同配件同品质只存在一条购物车记录  
252 - KEY `idx_garage_id` (`garage_id`),  
253 - KEY `idx_part_id` (`part_id`)  
254 -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='购物车表';  
255 -  
256 --- 5. 询价单与报价相关表  
257 --- inquiry_order (询价单表)  
258 -DROP TABLE IF EXISTS `inquiry_order`;  
259 -CREATE TABLE `inquiry_order`  
260 -(  
261 - `inquiry_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '询价单ID',  
262 - `garage_id` BIGINT(20) NOT NULL COMMENT '汽修厂ID',  
263 - `inquiry_sn` VARCHAR(50) NOT NULL UNIQUE COMMENT '询价单号',  
264 - `vin` VARCHAR(17) NOT NULL COMMENT '车架号VIN',  
265 - `car_brand` VARCHAR(50) NOT NULL COMMENT '汽车品牌',  
266 - `car_model` VARCHAR(100) NOT NULL COMMENT '汽车型号',  
267 - `total_amount` DECIMAL(10, 2) NOT NULL DEFAULT 0.00 COMMENT '询价总金额(最终选定后的合计)',  
268 - `invoice_required` CHAR(1) NOT NULL DEFAULT '0' COMMENT '是否需要发票(0:否, 1:是)',  
269 - `direct_supply` CHAR(1) NOT NULL DEFAULT '0' COMMENT '是否直供单(0:否, 1:是)',  
270 - `supply_region` CHAR(1) NOT NULL COMMENT '供货区域(0:本市, 1:本省, 2:全国)',  
271 - `receive_name` VARCHAR(50) NOT NULL COMMENT '收货人姓名',  
272 - `receive_phone` VARCHAR(20) NOT NULL COMMENT '收货人电话',  
273 - `receive_province` VARCHAR(50) NOT NULL COMMENT '收货省',  
274 - `receive_city` VARCHAR(50) NOT NULL COMMENT '收货市',  
275 - `receive_district` VARCHAR(50) NOT NULL COMMENT '收货区',  
276 - `receive_address` VARCHAR(255) NOT NULL COMMENT '收货详细地址',  
277 - `status` CHAR(1) NOT NULL DEFAULT '0' COMMENT '状态(0:待报价, 1:已报价, 2:已选标, 3:已完成, 4:已取消, 5:已超时)',  
278 - `expire_time` DATETIME NOT NULL COMMENT '询价超时时间',  
279 - `create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',  
280 - `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
281 - `update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',  
282 - `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
283 - PRIMARY KEY (`inquiry_id`),  
284 - KEY `idx_garage_id` (`garage_id`),  
285 - KEY `idx_inquiry_sn` (`inquiry_sn`),  
286 - KEY `idx_vin` (`vin`),  
287 - KEY `idx_status` (`status`)  
288 -) ENGINE = InnoDB  
289 - AUTO_INCREMENT = 1  
290 - DEFAULT CHARSET = utf8mb4 COMMENT ='询价单表';  
291 -  
292 --- inquiry_order_item (询价单商品明细表)  
293 -DROP TABLE IF EXISTS `inquiry_order_item`;  
294 -CREATE TABLE `inquiry_order_item`  
295 -(  
296 - `item_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '询价明细ID',  
297 - `inquiry_id` BIGINT(20) NOT NULL COMMENT '询价单ID',  
298 - `part_id` BIGINT(20) NOT NULL COMMENT '配件ID',  
299 - `part_name` VARCHAR(255) NOT NULL COMMENT '配件名称(冗余)',  
300 - `quantity` INT(11) NOT NULL COMMENT '数量',  
301 - `quality_requirement` CHAR(1) NOT NULL COMMENT '品质要求(0:原厂件, 1:品牌件, 2:配套件, 3:拆车件)',  
302 - `remark` VARCHAR(500) DEFAULT NULL COMMENT '备注',  
303 - `selected_quote_id` BIGINT(20) DEFAULT NULL COMMENT '选中的报价ID',  
304 - `final_price` DECIMAL(10, 2) DEFAULT NULL COMMENT '最终成交单价',  
305 - `final_total` DECIMAL(10, 2) DEFAULT NULL COMMENT '最终成交总价',  
306 - `create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',  
307 - `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
308 - `update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',  
309 - `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
310 - PRIMARY KEY (`item_id`),  
311 - KEY `idx_inquiry_id` (`inquiry_id`),  
312 - KEY `idx_part_id` (`part_id`)  
313 -) ENGINE = InnoDB  
314 - AUTO_INCREMENT = 1  
315 - DEFAULT CHARSET = utf8mb4 COMMENT ='询价单商品明细表';  
316 -  
317 --- inquiry_quote (询价报价表)  
318 -DROP TABLE IF EXISTS `inquiry_quote`;  
319 -CREATE TABLE `inquiry_quote`  
320 -(  
321 - `quote_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '报价ID',  
322 - `inquiry_id` BIGINT(20) NOT NULL COMMENT '询价单ID',  
323 - `inquiry_item_id` BIGINT(20) NOT NULL COMMENT '询价单明细ID',  
324 - `supplier_id` BIGINT(20) NOT NULL COMMENT '汽配厂家ID',  
325 - `quoted_price` DECIMAL(10, 2) NOT NULL COMMENT '报价单价',  
326 - `quoted_quantity` INT(11) NOT NULL COMMENT '报价数量',  
327 - `total_price` DECIMAL(10, 2) NOT NULL COMMENT '报价总价',  
328 - `delivery_time` VARCHAR(50) DEFAULT NULL COMMENT '预计发货时间',  
329 - `remark` VARCHAR(500) DEFAULT NULL COMMENT '报价备注',  
330 - `status` CHAR(1) NOT NULL DEFAULT '0' COMMENT '状态(0:待选标, 1:已中标, 2:未中标, 3:已取消)',  
331 - `create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',  
332 - `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
333 - `update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',  
334 - `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
335 - PRIMARY KEY (`quote_id`),  
336 - KEY `idx_inquiry_id` (`inquiry_id`),  
337 - KEY `idx_inquiry_item_id` (`inquiry_item_id`),  
338 - KEY `idx_supplier_id` (`supplier_id`)  
339 -) ENGINE = InnoDB  
340 - AUTO_INCREMENT = 1  
341 - DEFAULT CHARSET = utf8mb4 COMMENT ='询价报价表';  
342 -  
343 --- 6. 订单与支付相关表  
344 --- order_main (主订单表)  
345 -DROP TABLE IF EXISTS `order_main`;  
346 -CREATE TABLE `order_main`  
347 -(  
348 - `order_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '主订单ID',  
349 - `order_sn` VARCHAR(50) NOT NULL UNIQUE COMMENT '订单号',  
350 - `inquiry_id` BIGINT(20) NOT NULL COMMENT '询价单ID',  
351 - `garage_id` BIGINT(20) NOT NULL COMMENT '汽修厂ID',  
352 - `total_amount` DECIMAL(10, 2) NOT NULL COMMENT '订单总金额',  
353 - `pay_amount` DECIMAL(10, 2) NOT NULL COMMENT '实际支付金额',  
354 - `payment_method` CHAR(1) DEFAULT NULL COMMENT '支付方式(0:余额, 1:微信支付, 2:支付宝)',  
355 - `payment_time` DATETIME DEFAULT NULL COMMENT '支付时间',  
356 - `invoice_required` CHAR(1) NOT NULL DEFAULT '0' COMMENT '是否需要发票',  
357 - `direct_supply` CHAR(1) NOT NULL DEFAULT '0' COMMENT '是否直供单',  
358 - `receive_name` VARCHAR(50) NOT NULL COMMENT '收货人姓名',  
359 - `receive_phone` VARCHAR(20) NOT NULL COMMENT '收货人电话',  
360 - `receive_province` VARCHAR(50) NOT NULL COMMENT '收货省',  
361 - `receive_city` VARCHAR(50) NOT NULL COMMENT '收货市',  
362 - `receive_district` VARCHAR(50) NOT NULL COMMENT '收货区',  
363 - `receive_address` VARCHAR(255) NOT NULL COMMENT '收货详细地址',  
364 - `status` CHAR(1) NOT NULL DEFAULT '0' COMMENT '订单状态(0:待支付, 1:待发货, 2:待收货, 3:已完成, 4:已取消, 5:已退款)',  
365 - `remark` VARCHAR(500) DEFAULT NULL COMMENT '备注',  
366 - `create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',  
367 - `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
368 - `update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',  
369 - `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
370 - PRIMARY KEY (`order_id`),  
371 - KEY `idx_order_sn` (`order_sn`),  
372 - KEY `idx_inquiry_id` (`inquiry_id`),  
373 - KEY `idx_garage_id` (`garage_id`),  
374 - KEY `idx_status` (`status`)  
375 -) ENGINE = InnoDB  
376 - AUTO_INCREMENT = 1  
377 - DEFAULT CHARSET = utf8mb4 COMMENT ='主订单表';  
378 -  
379 --- order_sub (子订单表)  
380 -DROP TABLE IF EXISTS `order_sub`;  
381 -CREATE TABLE `order_sub`  
382 -(  
383 - `sub_order_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '子订单ID',  
384 - `main_order_id` BIGINT(20) NOT NULL COMMENT '主订单ID',  
385 - `supplier_id` BIGINT(20) NOT NULL COMMENT '汽配厂家ID',  
386 - `sub_order_sn` VARCHAR(50) NOT NULL UNIQUE COMMENT '子订单号',  
387 - `total_amount` DECIMAL(10, 2) NOT NULL COMMENT '子订单总金额',  
388 - `pay_amount` DECIMAL(10, 2) NOT NULL COMMENT '实际支付金额',  
389 - `status` CHAR(1) NOT NULL DEFAULT '0' COMMENT '订单状态(0:待发货, 1:待收货, 2:已完成, 3:已取消, 4:已退款)',  
390 - `create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',  
391 - `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
392 - `update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',  
393 - `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
394 - PRIMARY KEY (`sub_order_id`),  
395 - KEY `idx_main_order_id` (`main_order_id`),  
396 - KEY `idx_supplier_id` (`supplier_id`),  
397 - KEY `idx_sub_order_sn` (`sub_order_sn`),  
398 - KEY `idx_status` (`status`)  
399 -) ENGINE = InnoDB  
400 - AUTO_INCREMENT = 1  
401 - DEFAULT CHARSET = utf8mb4 COMMENT ='子订单表';  
402 -  
403 --- order_item (订单商品明细表)  
404 -DROP TABLE IF EXISTS `order_item`;  
405 -CREATE TABLE `order_item`  
406 -(  
407 - `item_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '订单明细ID',  
408 - `main_order_id` BIGINT(20) NOT NULL COMMENT '主订单ID',  
409 - `sub_order_id` BIGINT(20) DEFAULT NULL COMMENT '子订单ID(如果存在)',  
410 - `part_id` BIGINT(20) NOT NULL COMMENT '配件ID',  
411 - `part_name` VARCHAR(255) NOT NULL COMMENT '配件名称(冗余)',  
412 - `quantity` INT(11) NOT NULL COMMENT '数量',  
413 - `unit_price` DECIMAL(10, 2) NOT NULL COMMENT '成交单价',  
414 - `total_price` DECIMAL(10, 2) NOT NULL COMMENT '成交总价',  
415 - `quality_type` CHAR(1) NOT NULL COMMENT '品质类型(0:原厂件, 1:品牌件, 2:配套件, 3:拆车件)',  
416 - `supplier_id` BIGINT(20) DEFAULT NULL COMMENT '供货厂家ID',  
417 - `create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',  
418 - `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
419 - `update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',  
420 - `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
421 - PRIMARY KEY (`item_id`),  
422 - KEY `idx_main_order_id` (`main_order_id`),  
423 - KEY `idx_sub_order_id` (`sub_order_id`),  
424 - KEY `idx_part_id` (`part_id`),  
425 - KEY `idx_supplier_id` (`supplier_id`)  
426 -) ENGINE = InnoDB  
427 - AUTO_INCREMENT = 1  
428 - DEFAULT CHARSET = utf8mb4 COMMENT ='订单商品明细表';  
429 -  
430 --- order_delivery (订单发货表)  
431 -DROP TABLE IF EXISTS `order_delivery`;  
432 -CREATE TABLE `order_delivery`  
433 -(  
434 - `delivery_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '发货单ID',  
435 - `sub_order_id` BIGINT(20) NOT NULL UNIQUE COMMENT '子订单ID',  
436 - `supplier_id` BIGINT(20) NOT NULL COMMENT '汽配厂家ID',  
437 - `delivery_sn` VARCHAR(50) UNIQUE DEFAULT NULL COMMENT '发货单号',  
438 - `logistics_company` VARCHAR(100) DEFAULT NULL COMMENT '物流公司',  
439 - `tracking_number` VARCHAR(100) DEFAULT NULL COMMENT '运单号',  
440 - `delivery_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '发货时间',  
441 - `receiver_name` VARCHAR(50) NOT NULL COMMENT '收货人姓名',  
442 - `receiver_phone` VARCHAR(20) NOT NULL COMMENT '收货人电话',  
443 - `receiver_address` VARCHAR(255) NOT NULL COMMENT '收货地址',  
444 - `status` CHAR(1) NOT NULL DEFAULT '0' COMMENT '状态(0:待收货, 1:已收货, 2:退回中, 3:已退回)',  
445 - `create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',  
446 - `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
447 - `update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',  
448 - `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
449 - PRIMARY KEY (`delivery_id`),  
450 - KEY `idx_sub_order_id` (`sub_order_id`),  
451 - KEY `idx_supplier_id` (`supplier_id`),  
452 - KEY `idx_tracking_number` (`tracking_number`)  
453 -) ENGINE = InnoDB  
454 - AUTO_INCREMENT = 1  
455 - DEFAULT CHARSET = utf8mb4 COMMENT ='订单发货表';  
456 -  
457 --- order_receipt (订单收货表)  
458 -DROP TABLE IF EXISTS `order_receipt`;  
459 -CREATE TABLE `order_receipt`  
460 -(  
461 - `receipt_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '收货单ID',  
462 - `delivery_id` BIGINT(20) NOT NULL UNIQUE COMMENT '发货单ID',  
463 - `sub_order_id` BIGINT(20) NOT NULL COMMENT '子订单ID',  
464 - `garage_id` BIGINT(20) NOT NULL COMMENT '汽修厂ID',  
465 - `receipt_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '收货时间',  
466 - `receipt_status` CHAR(1) NOT NULL DEFAULT '0' COMMENT '收货状态(0:部分收货, 1:全部收货, 2:拒收)',  
467 - `remark` VARCHAR(500) DEFAULT NULL COMMENT '备注',  
468 - `create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',  
469 - `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
470 - `update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',  
471 - `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
472 - PRIMARY KEY (`receipt_id`),  
473 - KEY `idx_delivery_id` (`delivery_id`),  
474 - KEY `idx_sub_order_id` (`sub_order_id`),  
475 - KEY `idx_garage_id` (`garage_id`)  
476 -) ENGINE = InnoDB  
477 - AUTO_INCREMENT = 1  
478 - DEFAULT CHARSET = utf8mb4 COMMENT ='订单收货表';  
479 -  
480 --- 7. 平台运营相关表  
481 --- sys_user (平台用户表)  
482 -DROP TABLE IF EXISTS `sys_user`;  
483 -CREATE TABLE `sys_user`  
484 -(  
485 - `user_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID',  
486 - `username` VARCHAR(50) NOT NULL UNIQUE COMMENT '用户名',  
487 - `password` VARCHAR(255) NOT NULL COMMENT '密码',  
488 - `nickname` VARCHAR(50) DEFAULT NULL COMMENT '昵称',  
489 - `email` VARCHAR(100) UNIQUE DEFAULT NULL COMMENT '邮箱',  
490 - `phone` VARCHAR(20) UNIQUE DEFAULT NULL COMMENT '手机号',  
491 - `status` CHAR(1) NOT NULL DEFAULT '0' COMMENT '状态(0:正常, 1:禁用)',  
492 - `last_login_time` DATETIME DEFAULT NULL COMMENT '最后登录时间',  
493 - `create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',  
494 - `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
495 - `update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',  
496 - `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
497 - PRIMARY KEY (`user_id`),  
498 - KEY `idx_username` (`username`),  
499 - KEY `idx_phone` (`phone`)  
500 -) ENGINE = InnoDB  
501 - AUTO_INCREMENT = 1  
502 - DEFAULT CHARSET = utf8mb4 COMMENT ='平台用户表';  
503 -  
504 --- 重新启用外键检查(如果你后续决定使用外键,或用于数据库其他部分的检查)  
505 -SET FOREIGN_KEY_CHECKS = 1;  
  1 +/*
  2 + Navicat Premium Data Transfer
  3 +
  4 + Source Server : 192.168.1.18
  5 + Source Server Type : MySQL
  6 + Source Server Version : 50736
  7 + Source Host : 192.168.1.18:3306
  8 + Source Schema : fp_scm
  9 +
  10 + Target Server Type : MySQL
  11 + Target Server Version : 50736
  12 + File Encoding : 65001
  13 +
  14 + Date: 24/06/2025 15:41:08
  15 +*/
  16 +
  17 +SET NAMES utf8mb4;
  18 +SET FOREIGN_KEY_CHECKS = 0;
  19 +
  20 +-- ----------------------------
  21 +-- Table structure for garage
  22 +-- ----------------------------
  23 +DROP TABLE IF EXISTS `garage`;
  24 +CREATE TABLE `garage` (
  25 + `garage_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '汽修厂ID',
  26 + `garage_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '汽修厂名称',
  27 + `contact_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '负责人名称',
  28 + `contact_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '负责人手机号码',
  29 + `level` int(11) NOT NULL DEFAULT 1 COMMENT '等级',
  30 + `province` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '省',
  31 + `city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '市',
  32 + `district` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '区',
  33 + `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '详细地址',
  34 + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '状态(0:正常, 1:禁用)',
  35 + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
  36 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  37 + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
  38 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  39 + PRIMARY KEY (`garage_id`) USING BTREE,
  40 + UNIQUE INDEX `contact_phone`(`contact_phone`) USING BTREE,
  41 + INDEX `idx_contact_phone`(`contact_phone`) USING BTREE,
  42 + INDEX `fk_garage_create_by_sys_user`(`create_by`) USING BTREE,
  43 + INDEX `fk_garage_update_by_sys_user`(`update_by`) USING BTREE
  44 +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '汽修厂信息表' ROW_FORMAT = DYNAMIC;
  45 +
  46 +-- ----------------------------
  47 +-- Table structure for garage_account
  48 +-- ----------------------------
  49 +DROP TABLE IF EXISTS `garage_account`;
  50 +CREATE TABLE `garage_account` (
  51 + `account_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '账户ID',
  52 + `garage_id` bigint(20) NOT NULL COMMENT '汽修厂ID',
  53 + `balance` decimal(10, 2) NOT NULL DEFAULT 0.00 COMMENT '余额',
  54 + `account_status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '账户状态(0:正常, 1:冻结)',
  55 + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
  56 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  57 + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
  58 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  59 + PRIMARY KEY (`account_id`) USING BTREE,
  60 + UNIQUE INDEX `garage_id`(`garage_id`) USING BTREE,
  61 + INDEX `idx_garage_id`(`garage_id`) USING BTREE,
  62 + INDEX `fk_garage_account_create_by_sys_user`(`create_by`) USING BTREE,
  63 + INDEX `fk_garage_account_update_by_sys_user`(`update_by`) USING BTREE,
  64 + CONSTRAINT `fk_garage_account_garage_id` FOREIGN KEY (`garage_id`) REFERENCES `garage` (`garage_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
  65 +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '汽修厂账户表' ROW_FORMAT = DYNAMIC;
  66 +
  67 +-- ----------------------------
  68 +-- Table structure for garage_account_flow
  69 +-- ----------------------------
  70 +DROP TABLE IF EXISTS `garage_account_flow`;
  71 +CREATE TABLE `garage_account_flow` (
  72 + `flow_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '流水ID',
  73 + `account_id` bigint(20) NOT NULL COMMENT '账户ID',
  74 + `garage_id` bigint(20) NOT NULL COMMENT '汽修厂ID',
  75 + `amount` decimal(10, 2) NOT NULL COMMENT '金额',
  76 + `balance` decimal(10, 2) NOT NULL COMMENT '余额',
  77 + `flow_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '流水类型(0:收入, 1:支出)',
  78 + `biz_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '业务类型(0:充值, 1:提现, 2:支付, 3:退款)',
  79 + `biz_id` bigint(20) NULL DEFAULT NULL COMMENT '业务ID(订单ID、充值单ID等)',
  80 + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
  81 + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
  82 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  83 + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
  84 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  85 + PRIMARY KEY (`flow_id`) USING BTREE,
  86 + INDEX `idx_account_id`(`account_id`) USING BTREE,
  87 + INDEX `idx_garage_id`(`garage_id`) USING BTREE,
  88 + INDEX `fk_garage_flow_create_by_sys_user`(`create_by`) USING BTREE,
  89 + INDEX `fk_garage_flow_update_by_sys_user`(`update_by`) USING BTREE,
  90 + CONSTRAINT `fk_garage_flow_account_id` FOREIGN KEY (`account_id`) REFERENCES `garage_account` (`account_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  91 + CONSTRAINT `fk_garage_flow_garage_id` FOREIGN KEY (`garage_id`) REFERENCES `garage` (`garage_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
  92 +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '汽修厂账户流水表' ROW_FORMAT = DYNAMIC;
  93 +
  94 +-- ----------------------------
  95 +-- Table structure for garage_delivery_address
  96 +-- ----------------------------
  97 +DROP TABLE IF EXISTS `garage_delivery_address`;
  98 +CREATE TABLE `garage_delivery_address` (
  99 + `address_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '地址ID',
  100 + `garage_id` bigint(20) NOT NULL COMMENT '汽修厂ID',
  101 + `contact_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货人姓名',
  102 + `contact_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货人电话',
  103 + `province` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '省',
  104 + `city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '市',
  105 + `district` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '区',
  106 + `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '详细地址',
  107 + `is_default` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '是否默认地址(0:否, 1:是)',
  108 + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '状态(0:正常, 1:禁用)',
  109 + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
  110 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  111 + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
  112 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  113 + PRIMARY KEY (`address_id`) USING BTREE,
  114 + INDEX `idx_garage_id`(`garage_id`) USING BTREE,
  115 + INDEX `fk_garage_address_create_by_sys_user`(`create_by`) USING BTREE,
  116 + INDEX `fk_garage_address_update_by_sys_user`(`update_by`) USING BTREE,
  117 + CONSTRAINT `fk_garage_address_garage_id` FOREIGN KEY (`garage_id`) REFERENCES `garage` (`garage_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
  118 +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '汽修厂收货地址表' ROW_FORMAT = DYNAMIC;
  119 +
  120 +-- ----------------------------
  121 +-- Table structure for garage_user
  122 +-- ----------------------------
  123 +DROP TABLE IF EXISTS `garage_user`;
  124 +CREATE TABLE `garage_user` (
  125 + `user_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '汽修厂用户ID',
  126 + `garage_id` bigint(20) NOT NULL COMMENT '所属汽修厂ID',
  127 + `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '登录用户名/手机号',
  128 + `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '密码(加密)',
  129 + `real_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户真实姓名',
  130 + `phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机号',
  131 + `is_admin` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '是否是汽修厂管理员(0:否, 1:是)',
  132 + `role` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'admin' COMMENT '角色(admin/employee)',
  133 + `wechat_openid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信OpenID',
  134 + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '状态(0:正常, 1:禁用)',
  135 + `last_login_time` datetime NULL DEFAULT NULL COMMENT '最后登录时间',
  136 + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
  137 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  138 + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
  139 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  140 + PRIMARY KEY (`user_id`) USING BTREE,
  141 + UNIQUE INDEX `uk_username`(`username`) USING BTREE,
  142 + INDEX `idx_garage_id`(`garage_id`) USING BTREE,
  143 + CONSTRAINT `fk_garage_user_garage_id` FOREIGN KEY (`garage_id`) REFERENCES `garage` (`garage_id`) ON DELETE CASCADE ON UPDATE CASCADE
  144 +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '汽修厂用户表' ROW_FORMAT = DYNAMIC;
  145 +
  146 +-- ----------------------------
  147 +-- Table structure for inquiry_order
  148 +-- ----------------------------
  149 +DROP TABLE IF EXISTS `inquiry_order`;
  150 +CREATE TABLE `inquiry_order` (
  151 + `inquiry_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '询价单ID',
  152 + `garage_id` bigint(20) NOT NULL COMMENT '汽修厂ID',
  153 + `inquiry_sn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '询价单号',
  154 + `vin` varchar(17) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '车架号VIN',
  155 + `car_brand_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '汽车品牌ID',
  156 + `car_brand` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '汽车品牌',
  157 + `series_name_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '汽车系列ID',
  158 + `series_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '汽车系列',
  159 + `car_model_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '汽车型号ID',
  160 + `car_model` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '汽车型号',
  161 + `total_amount` decimal(10, 2) NOT NULL DEFAULT 0.00 COMMENT '询价总金额(最终选定后的合计)',
  162 + `invoice_required` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '是否需要发票(0:否, 1:是)',
  163 + `direct_supply` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '是否直供单(0:否, 1:是)',
  164 + `supply_region` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '供货区域(0:本市, 1:本省, 2:全国)',
  165 + `receive_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货人姓名',
  166 + `receive_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货人电话',
  167 + `receive_province` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货省',
  168 + `receive_city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货市',
  169 + `receive_district` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货区',
  170 + `receive_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货详细地址',
  171 + `order_status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '状态(0:待报价, 1:已报价, 2:已完成, 3:已超时)',
  172 + `expire_time` datetime NOT NULL COMMENT '询价超时时间',
  173 + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
  174 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  175 + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
  176 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  177 + PRIMARY KEY (`inquiry_id`) USING BTREE,
  178 + UNIQUE INDEX `inquiry_sn`(`inquiry_sn`) USING BTREE,
  179 + INDEX `idx_garage_id`(`garage_id`) USING BTREE,
  180 + INDEX `idx_inquiry_sn`(`inquiry_sn`) USING BTREE,
  181 + INDEX `idx_vin`(`vin`) USING BTREE,
  182 + INDEX `idx_status`(`order_status`) USING BTREE,
  183 + INDEX `fk_inquiry_order_create_by_sys_user`(`create_by`) USING BTREE,
  184 + INDEX `fk_inquiry_order_update_by_sys_user`(`update_by`) USING BTREE,
  185 + CONSTRAINT `fk_inquiry_order_garage_id` FOREIGN KEY (`garage_id`) REFERENCES `garage` (`garage_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
  186 +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '询价单表' ROW_FORMAT = DYNAMIC;
  187 +
  188 +-- ----------------------------
  189 +-- Table structure for inquiry_order_item
  190 +-- ----------------------------
  191 +DROP TABLE IF EXISTS `inquiry_order_item`;
  192 +CREATE TABLE `inquiry_order_item` (
  193 + `item_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '询价明细ID',
  194 + `inquiry_id` bigint(20) NOT NULL COMMENT '询价单ID',
  195 + `part_id` bigint(20) NOT NULL COMMENT '配件ID',
  196 + `part_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '配件名称(冗余)',
  197 + `quantity` int(11) NOT NULL COMMENT '数量',
  198 + `quality_requirements` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '品质要求(0:原厂件, 1:品牌件, 2:配套件, 3:拆车件)逗号分隔',
  199 + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
  200 + `selected_quote_id` bigint(20) NULL DEFAULT NULL COMMENT '选中的报价ID',
  201 + `final_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '最终成交单价',
  202 + `final_total` decimal(10, 2) NULL DEFAULT NULL COMMENT '最终成交总价',
  203 + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
  204 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  205 + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
  206 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  207 + PRIMARY KEY (`item_id`) USING BTREE,
  208 + INDEX `idx_inquiry_id`(`inquiry_id`) USING BTREE,
  209 + INDEX `idx_part_id`(`part_id`) USING BTREE,
  210 + INDEX `fk_inquiry_item_create_by_sys_user`(`create_by`) USING BTREE,
  211 + INDEX `fk_inquiry_item_update_by_sys_user`(`update_by`) USING BTREE,
  212 + INDEX `fk_inquiry_item_selected_quote_id`(`selected_quote_id`) USING BTREE,
  213 + CONSTRAINT `fk_inquiry_item_inquiry_id` FOREIGN KEY (`inquiry_id`) REFERENCES `inquiry_order` (`inquiry_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  214 + CONSTRAINT `fk_inquiry_item_selected_quote_id` FOREIGN KEY (`selected_quote_id`) REFERENCES `inquiry_quote` (`quote_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
  215 +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '询价单商品明细表' ROW_FORMAT = DYNAMIC;
  216 +
  217 +-- ----------------------------
  218 +-- Table structure for inquiry_order_payment
  219 +-- ----------------------------
  220 +DROP TABLE IF EXISTS `inquiry_order_payment`;
  221 +CREATE TABLE `inquiry_order_payment` (
  222 + `transaction_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '交易ID',
  223 + `inquiry_id` bigint(20) NULL DEFAULT NULL COMMENT '关联的询价单ID',
  224 + `order_id` bigint(20) NULL DEFAULT NULL COMMENT '关联的主订单ID',
  225 + `garage_id` bigint(20) NOT NULL COMMENT '支付方汽修厂ID',
  226 + `transaction_sn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '交易流水号',
  227 + `amount` decimal(10, 2) NOT NULL COMMENT '支付金额',
  228 + `payment_method` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '支付方式(0:余额, 1:微信支付, 2:支付宝, 9:其他)',
  229 + `payment_status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '支付状态(0:待支付, 1:支付成功, 2:支付失败, 3:已退款)',
  230 + `payment_time` datetime NULL DEFAULT NULL COMMENT '支付成功时间',
  231 + `third_party_trade_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '第三方支付平台交易号',
  232 + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
  233 + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
  234 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  235 + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
  236 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  237 + PRIMARY KEY (`transaction_id`) USING BTREE,
  238 + UNIQUE INDEX `transaction_sn`(`transaction_sn`) USING BTREE,
  239 + INDEX `idx_order_id`(`order_id`) USING BTREE,
  240 + INDEX `idx_garage_id`(`garage_id`) USING BTREE,
  241 + INDEX `idx_transaction_sn`(`transaction_sn`) USING BTREE,
  242 + INDEX `fk_payment_transaction_create_by_garage_user`(`create_by`) USING BTREE,
  243 + INDEX `fk_payment_transaction_update_by_garage_user`(`update_by`) USING BTREE,
  244 + INDEX `fk_payment_transaction_inquiry_id`(`inquiry_id`) USING BTREE,
  245 + CONSTRAINT `fk_payment_transaction_garage_id` FOREIGN KEY (`garage_id`) REFERENCES `garage` (`garage_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  246 + CONSTRAINT `fk_payment_transaction_order_id` FOREIGN KEY (`order_id`) REFERENCES `order_main` (`order_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  247 + CONSTRAINT `fk_payment_transaction_inquiry_id` FOREIGN KEY (`inquiry_id`) REFERENCES `inquiry_order` (`inquiry_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
  248 +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '询价单支付交易表' ROW_FORMAT = DYNAMIC;
  249 +
  250 +-- ----------------------------
  251 +-- Table structure for inquiry_quote
  252 +-- ----------------------------
  253 +DROP TABLE IF EXISTS `inquiry_quote`;
  254 +CREATE TABLE `inquiry_quote` (
  255 + `quote_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '报价ID',
  256 + `inquiry_id` bigint(20) NOT NULL COMMENT '询价单ID',
  257 + `inquiry_item_id` bigint(20) NOT NULL COMMENT '询价单明细ID',
  258 + `quality_requirement` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '品质要求(0:原厂件, 1:品牌件, 2:配套件, 3:拆车件)',
  259 + `supplier_id` bigint(20) NOT NULL COMMENT '汽配厂家ID',
  260 + `quoted_by_user_id` bigint(20) NOT NULL COMMENT '报价人用户ID (汽配厂家用户)',
  261 + `quoted_by_user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '报价人姓名(冗余)',
  262 + `quoted_by_user_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '报价人电话(冗余)',
  263 + `quoted_price` decimal(10, 2) NOT NULL COMMENT '报价单价',
  264 + `quoted_quantity` int(11) NOT NULL COMMENT '报价数量',
  265 + `total_price` decimal(10, 2) NOT NULL COMMENT '报价总价',
  266 + `delivery_time` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '预计发货时间',
  267 + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '报价备注',
  268 + `quote_status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '状态(0:已报价, 1:已中标, 2:已取消)',
  269 + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
  270 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  271 + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
  272 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  273 + PRIMARY KEY (`quote_id`) USING BTREE,
  274 + INDEX `idx_inquiry_id`(`inquiry_id`) USING BTREE,
  275 + INDEX `idx_inquiry_item_id`(`inquiry_item_id`) USING BTREE,
  276 + INDEX `idx_supplier_id`(`supplier_id`) USING BTREE,
  277 + INDEX `idx_quoted_by_user_id`(`quoted_by_user_id`) USING BTREE,
  278 + INDEX `fk_inquiry_quote_create_by_sys_user`(`create_by`) USING BTREE,
  279 + INDEX `fk_inquiry_quote_update_by_sys_user`(`update_by`) USING BTREE,
  280 + CONSTRAINT `fk_inquiry_quote_inquiry_id` FOREIGN KEY (`inquiry_id`) REFERENCES `inquiry_order` (`inquiry_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  281 + CONSTRAINT `fk_inquiry_quote_inquiry_item_id` FOREIGN KEY (`inquiry_item_id`) REFERENCES `inquiry_order_item` (`item_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  282 + CONSTRAINT `fk_inquiry_quote_supplier_id` FOREIGN KEY (`supplier_id`) REFERENCES `supplier` (`supplier_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
  283 +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '询价报价表' ROW_FORMAT = DYNAMIC;
  284 +
  285 +-- ----------------------------
  286 +-- Table structure for order_delivery
  287 +-- ----------------------------
  288 +DROP TABLE IF EXISTS `order_delivery`;
  289 +CREATE TABLE `order_delivery` (
  290 + `delivery_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '发货单ID',
  291 + `garage_id` bigint(20) NULL DEFAULT NULL COMMENT '汽修厂ID',
  292 + `order_id` bigint(20) NOT NULL COMMENT '主订单ID',
  293 + `sub_order_id` bigint(20) NOT NULL COMMENT '子订单ID',
  294 + `supplier_id` bigint(20) NOT NULL COMMENT '汽配厂家ID',
  295 + `delivery_sn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发货单号',
  296 + `logistics_company` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物流公司',
  297 + `tracking_number` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '运单号',
  298 + `delivery_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '发货时间',
  299 + `receiver_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货人姓名',
  300 + `receiver_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货人电话',
  301 + `receiver_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货地址',
  302 + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '状态(0:待收货, 1:已收货, 2:退回中, 3:已退回)',
  303 + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
  304 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  305 + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
  306 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  307 + PRIMARY KEY (`delivery_id`) USING BTREE,
  308 + UNIQUE INDEX `sub_order_id`(`sub_order_id`) USING BTREE,
  309 + UNIQUE INDEX `delivery_sn`(`delivery_sn`) USING BTREE,
  310 + INDEX `idx_sub_order_id`(`sub_order_id`) USING BTREE,
  311 + INDEX `idx_supplier_id`(`supplier_id`) USING BTREE,
  312 + INDEX `idx_tracking_number`(`tracking_number`) USING BTREE,
  313 + INDEX `fk_order_delivery_create_by_sys_user`(`create_by`) USING BTREE,
  314 + INDEX `fk_order_delivery_update_by_sys_user`(`update_by`) USING BTREE,
  315 + CONSTRAINT `fk_order_delivery_sub_order_id` FOREIGN KEY (`sub_order_id`) REFERENCES `order_sub` (`sub_order_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  316 + CONSTRAINT `fk_order_delivery_supplier_id` FOREIGN KEY (`supplier_id`) REFERENCES `supplier` (`supplier_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
  317 +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '订单发货表' ROW_FORMAT = DYNAMIC;
  318 +
  319 +-- ----------------------------
  320 +-- Table structure for order_item
  321 +-- ----------------------------
  322 +DROP TABLE IF EXISTS `order_item`;
  323 +CREATE TABLE `order_item` (
  324 + `item_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '订单明细ID',
  325 + `main_order_id` bigint(20) NOT NULL COMMENT '主订单ID',
  326 + `sub_order_id` bigint(20) NULL DEFAULT NULL COMMENT '子订单ID(如果存在)',
  327 + `part_id` bigint(20) NOT NULL COMMENT '配件ID',
  328 + `part_oem` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '配件OEM号',
  329 + `part_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '配件名称(冗余)',
  330 + `quantity` int(11) NOT NULL COMMENT '订单数量',
  331 + `unit_price` decimal(10, 2) NOT NULL COMMENT '成交单价',
  332 + `total_price` decimal(10, 2) NOT NULL COMMENT '成交总价',
  333 + `quality_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '品质类型(0:原厂件, 1:品牌件, 2:配套件, 3:拆车件)',
  334 + `supplier_id` bigint(20) NULL DEFAULT NULL COMMENT '供货厂家ID',
  335 + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '状态(0:正常, 1:禁用)',
  336 + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
  337 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  338 + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
  339 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  340 + PRIMARY KEY (`item_id`) USING BTREE,
  341 + INDEX `idx_main_order_id`(`main_order_id`) USING BTREE,
  342 + INDEX `idx_sub_order_id`(`sub_order_id`) USING BTREE,
  343 + INDEX `idx_part_id`(`part_id`) USING BTREE,
  344 + INDEX `idx_supplier_id`(`supplier_id`) USING BTREE,
  345 + INDEX `fk_order_item_create_by_sys_user`(`create_by`) USING BTREE,
  346 + INDEX `fk_order_item_update_by_sys_user`(`update_by`) USING BTREE,
  347 + CONSTRAINT `fk_order_item_main_order_id` FOREIGN KEY (`main_order_id`) REFERENCES `order_main` (`order_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  348 + CONSTRAINT `fk_order_item_sub_order_id` FOREIGN KEY (`sub_order_id`) REFERENCES `order_sub` (`sub_order_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  349 + CONSTRAINT `fk_order_item_supplier_id` FOREIGN KEY (`supplier_id`) REFERENCES `supplier` (`supplier_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
  350 +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '订单商品明细表' ROW_FORMAT = DYNAMIC;
  351 +
  352 +-- ----------------------------
  353 +-- Table structure for order_main
  354 +-- ----------------------------
  355 +DROP TABLE IF EXISTS `order_main`;
  356 +CREATE TABLE `order_main` (
  357 + `order_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主订单ID',
  358 + `order_sn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '订单号',
  359 + `inquiry_id` bigint(20) NOT NULL COMMENT '询价单ID',
  360 + `garage_id` bigint(20) NOT NULL COMMENT '汽修厂ID',
  361 + `platform_warehouse_id` bigint(20) NOT NULL COMMENT '平台中转仓库ID',
  362 + `total_amount` decimal(10, 2) NOT NULL COMMENT '订单总金额',
  363 + `pay_amount` decimal(10, 2) NOT NULL COMMENT '实际支付金额',
  364 + `payment_method` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付方式(0:余额, 1:微信支付, 2:支付宝)',
  365 + `payment_time` datetime NULL DEFAULT NULL COMMENT '支付时间',
  366 + `invoice_required` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '是否需要发票',
  367 + `direct_supply` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '是否直供单',
  368 + `receive_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货人姓名',
  369 + `receive_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货人电话',
  370 + `receive_province` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货省',
  371 + `receive_city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货市',
  372 + `receive_district` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货区',
  373 + `receive_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货详细地址',
  374 + `order_status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '订单状态(0:待发货 1:已发货 2:已完成)',
  375 + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
  376 + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
  377 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  378 + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
  379 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  380 + PRIMARY KEY (`order_id`) USING BTREE,
  381 + UNIQUE INDEX `order_sn`(`order_sn`) USING BTREE,
  382 + INDEX `idx_order_sn`(`order_sn`) USING BTREE,
  383 + INDEX `idx_inquiry_id`(`inquiry_id`) USING BTREE,
  384 + INDEX `idx_garage_id`(`garage_id`) USING BTREE,
  385 + INDEX `idx_platform_warehouse_id`(`platform_warehouse_id`) USING BTREE,
  386 + INDEX `idx_status`(`order_status`) USING BTREE,
  387 + INDEX `fk_order_main_create_by_sys_user`(`create_by`) USING BTREE,
  388 + INDEX `fk_order_main_update_by_sys_user`(`update_by`) USING BTREE,
  389 + CONSTRAINT `fk_order_main_garage_id` FOREIGN KEY (`garage_id`) REFERENCES `garage` (`garage_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  390 + CONSTRAINT `fk_order_main_inquiry_id` FOREIGN KEY (`inquiry_id`) REFERENCES `inquiry_order` (`inquiry_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  391 + CONSTRAINT `fk_order_main_platform_warehouse_id` FOREIGN KEY (`platform_warehouse_id`) REFERENCES `platform_warehouse` (`warehouse_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
  392 +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '主订单表' ROW_FORMAT = DYNAMIC;
  393 +
  394 +-- ----------------------------
  395 +-- Table structure for order_sub
  396 +-- ----------------------------
  397 +DROP TABLE IF EXISTS `order_sub`;
  398 +CREATE TABLE `order_sub` (
  399 + `sub_order_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '子订单ID',
  400 + `main_order_id` bigint(20) NOT NULL COMMENT '主订单ID',
  401 + `supplier_id` bigint(20) NOT NULL COMMENT '汽配厂家ID',
  402 + `sub_order_sn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '子订单号',
  403 + `total_amount` decimal(10, 2) NOT NULL COMMENT '子订单总金额',
  404 + `pay_amount` decimal(10, 2) NOT NULL COMMENT '实际支付金额',
  405 + `direct_supply` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '是否直供单(0:否, 1:是)',
  406 + `source_warehouse_id` bigint(20) NOT NULL COMMENT '发货来源汽配厂家仓库ID',
  407 + `platform_warehouse_id` bigint(20) NOT NULL COMMENT '目标平台仓库ID',
  408 + `sub_order_status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '订单状态(0:待厂家发货, 1:汽配已发货,待平台收货货 2:平台已发货,待汽修收货 3:已完成)',
  409 + `supplier_delivery_sn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '汽配厂家发货单号',
  410 + `supplier_delivery_sn_oss_id` bigint(20) NULL DEFAULT NULL COMMENT '汽配厂家发货单号文件',
  411 + `supplier_delivery_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '汽配厂发货方式 0:物流配送 1:厂家配送',
  412 + `supplier_delivery_user_id` bigint(20) NULL DEFAULT NULL COMMENT '汽配厂发货人ID',
  413 + `supplier_delivery_time` datetime NULL DEFAULT NULL COMMENT '汽配厂发货时间',
  414 + `platform_delivery_sn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '平台发货单号',
  415 + `platform_delivery_sn_oss_id` bigint(20) NOT NULL COMMENT '平台发货单号文件',
  416 + `garage_delivery_address_id` bigint(20) NULL DEFAULT NULL COMMENT '汽修厂收货地址ID',
  417 + `garage_receiver_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '汽修厂收货人姓名',
  418 + `garage_receiver_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '汽修厂收货人电话',
  419 + `garage_receiver_province` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '汽修厂收货省',
  420 + `garage_receiver_city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '汽修厂收货市',
  421 + `garage_receiver_district` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '汽修厂收货区',
  422 + `garage_receiver_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '汽修厂收货详细地址',
  423 + `garage_receive_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '汽修厂收货方式(0:平台代收 1:自收)',
  424 + `garage_receive_user_id` bigint(20) NULL DEFAULT NULL COMMENT '汽修厂收货人',
  425 + `garage_receive_time` datetime NULL DEFAULT NULL COMMENT '汽修厂收货时间',
  426 + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
  427 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  428 + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
  429 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  430 + PRIMARY KEY (`sub_order_id`) USING BTREE,
  431 + UNIQUE INDEX `sub_order_sn`(`sub_order_sn`) USING BTREE,
  432 + INDEX `idx_main_order_id`(`main_order_id`) USING BTREE,
  433 + INDEX `idx_supplier_id`(`supplier_id`) USING BTREE,
  434 + INDEX `idx_sub_order_sn`(`sub_order_sn`) USING BTREE,
  435 + INDEX `idx_status`(`sub_order_status`) USING BTREE,
  436 + INDEX `fk_order_sub_create_by_sys_user`(`create_by`) USING BTREE,
  437 + INDEX `fk_order_sub_update_by_sys_user`(`update_by`) USING BTREE,
  438 + CONSTRAINT `fk_order_sub_main_order_id` FOREIGN KEY (`main_order_id`) REFERENCES `order_main` (`order_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  439 + CONSTRAINT `fk_order_sub_supplier_id` FOREIGN KEY (`supplier_id`) REFERENCES `supplier` (`supplier_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
  440 +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '子订单表' ROW_FORMAT = DYNAMIC;
  441 +
  442 +-- ----------------------------
  443 +-- Table structure for platform_fund_flow
  444 +-- ----------------------------
  445 +DROP TABLE IF EXISTS `platform_fund_flow`;
  446 +CREATE TABLE `platform_fund_flow` (
  447 + `flow_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '流水ID',
  448 + `flow_sn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '流水单号',
  449 + `amount` decimal(10, 2) NOT NULL COMMENT '金额',
  450 + `flow_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '流水类型(0:收入, 1:支出)',
  451 + `biz_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '业务类型(0:汽修厂支付, 1:厂家提现, 2:退款支出, 9:其他)',
  452 + `biz_id` bigint(20) NULL DEFAULT NULL COMMENT '业务ID(如 payment_transaction.transaction_id, supplier_withdrawal_apply.apply_id 等)',
  453 + `current_balance` decimal(10, 2) NULL DEFAULT NULL COMMENT '发生此流水后的平台当前余额',
  454 + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
  455 + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
  456 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  457 + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
  458 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  459 + PRIMARY KEY (`flow_id`) USING BTREE,
  460 + UNIQUE INDEX `flow_sn`(`flow_sn`) USING BTREE,
  461 + INDEX `idx_flow_sn`(`flow_sn`) USING BTREE,
  462 + INDEX `idx_biz_type_biz_id`(`biz_type`, `biz_id`) USING BTREE,
  463 + INDEX `fk_platform_fund_flow_create_by_sys_user`(`create_by`) USING BTREE,
  464 + INDEX `fk_platform_fund_flow_update_by_sys_user`(`update_by`) USING BTREE
  465 +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '平台资金流水表' ROW_FORMAT = DYNAMIC;
  466 +
  467 +-- ----------------------------
  468 +-- Table structure for platform_warehouse
  469 +-- ----------------------------
  470 +DROP TABLE IF EXISTS `platform_warehouse`;
  471 +CREATE TABLE `platform_warehouse` (
  472 + `warehouse_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '仓库ID',
  473 + `warehouse_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '仓库名称',
  474 + `province` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '省',
  475 + `city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '市',
  476 + `district` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '区',
  477 + `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '详细地址',
  478 + `admin_user_id` bigint(20) NULL DEFAULT NULL COMMENT '管理员用户ID',
  479 + `contact_person` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '管理员名称',
  480 + `contact_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '管理员电话',
  481 + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '数据状态(0:正常, 1:禁用)',
  482 + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
  483 + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
  484 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  485 + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
  486 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  487 + PRIMARY KEY (`warehouse_id`) USING BTREE,
  488 + UNIQUE INDEX `warehouse_name_unique`(`warehouse_name`) USING BTREE,
  489 + INDEX `idx_admin_user_id`(`admin_user_id`) USING BTREE,
  490 + INDEX `fk_warehouse_create_by_sys_user`(`create_by`) USING BTREE,
  491 + INDEX `fk_warehouse_update_by_sys_user`(`update_by`) USING BTREE
  492 +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '平台仓库表' ROW_FORMAT = DYNAMIC;
  493 +
  494 +-- ----------------------------
  495 +-- Table structure for shopping_cart
  496 +-- ----------------------------
  497 +DROP TABLE IF EXISTS `shopping_cart`;
  498 +CREATE TABLE `shopping_cart` (
  499 + `cart_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '购物车ID',
  500 + `garage_id` bigint(20) NOT NULL COMMENT '汽修厂ID (对应购买方)',
  501 + `part_id` bigint(20) NOT NULL COMMENT '配件ID',
  502 + `quantity` int(11) NOT NULL DEFAULT 1 COMMENT '数量',
  503 + `quality_requirement` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '品质要求(0:原厂件, 1:品牌件, 2:配套件, 3:拆车件)',
  504 + `added_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '加入购物车时间',
  505 + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
  506 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  507 + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
  508 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  509 + PRIMARY KEY (`cart_id`) USING BTREE,
  510 + UNIQUE INDEX `uk_garage_part`(`garage_id`, `part_id`, `quality_requirement`) USING BTREE,
  511 + INDEX `idx_garage_id`(`garage_id`) USING BTREE,
  512 + INDEX `idx_part_id`(`part_id`) USING BTREE,
  513 + INDEX `fk_shopping_cart_create_by_sys_user`(`create_by`) USING BTREE,
  514 + INDEX `fk_shopping_cart_update_by_sys_user`(`update_by`) USING BTREE,
  515 + CONSTRAINT `fk_shopping_cart_garage_id` FOREIGN KEY (`garage_id`) REFERENCES `garage` (`garage_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
  516 +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '购物车表' ROW_FORMAT = DYNAMIC;
  517 +
  518 +-- ----------------------------
  519 +-- Table structure for supplier
  520 +-- ----------------------------
  521 +DROP TABLE IF EXISTS `supplier`;
  522 +CREATE TABLE `supplier` (
  523 + `supplier_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '汽配厂家ID',
  524 + `company_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '公司名称',
  525 + `shop_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '店铺名称',
  526 + `province` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '省',
  527 + `city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '市',
  528 + `district` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '区',
  529 + `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '详细地址',
  530 + `license_oss_id` bigint(20) NULL DEFAULT NULL COMMENT '营业执照照片OSS ID',
  531 + `legal_person_id_front_oss_id` bigint(20) NULL DEFAULT NULL COMMENT '法人身份证正面OSS ID',
  532 + `legal_person_id_back_oss_id` bigint(20) NULL DEFAULT NULL COMMENT '法人身份证反面OSS ID',
  533 + `office_photo_1_oss_id` bigint(20) NULL DEFAULT NULL COMMENT '办公场所照片1 OSS ID',
  534 + `office_photo_2_oss_id` bigint(20) NULL DEFAULT NULL COMMENT '办公场所照片2 OSS ID',
  535 + `office_photo_3_oss_id` bigint(20) NULL DEFAULT NULL COMMENT '办公场所照片3 OSS ID',
  536 + `main_car_brands` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '主营车型品牌(多选,逗号分隔)',
  537 + `contact_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '联系人名称',
  538 + `contact_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '联系人电话',
  539 + `email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '电子邮箱',
  540 + `level` int(11) NOT NULL DEFAULT 1 COMMENT '等级',
  541 + `review_status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '2' COMMENT '审核状态(0:审核通过, 1:审核驳回, 2:待审核)',
  542 + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '数据状态(0:正常, 1:禁用)',
  543 + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
  544 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  545 + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
  546 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  547 + PRIMARY KEY (`supplier_id`) USING BTREE,
  548 + UNIQUE INDEX `contact_phone`(`contact_phone`) USING BTREE,
  549 + INDEX `idx_contact_phone`(`contact_phone`) USING BTREE,
  550 + INDEX `idx_company_name`(`company_name`) USING BTREE,
  551 + INDEX `fk_supplier_license_oss`(`license_oss_id`) USING BTREE,
  552 + INDEX `fk_supplier_id_front_oss`(`legal_person_id_front_oss_id`) USING BTREE,
  553 + INDEX `fk_supplier_id_back_oss`(`legal_person_id_back_oss_id`) USING BTREE,
  554 + INDEX `fk_supplier_office_photo1_oss`(`office_photo_1_oss_id`) USING BTREE,
  555 + INDEX `fk_supplier_office_photo2_oss`(`office_photo_2_oss_id`) USING BTREE,
  556 + INDEX `fk_supplier_office_photo3_oss`(`office_photo_3_oss_id`) USING BTREE,
  557 + INDEX `fk_supplier_create_by_sys_user`(`create_by`) USING BTREE,
  558 + INDEX `fk_supplier_update_by_sys_user`(`update_by`) USING BTREE
  559 +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '汽配厂家信息表' ROW_FORMAT = DYNAMIC;
  560 +
  561 +-- ----------------------------
  562 +-- Table structure for supplier_account
  563 +-- ----------------------------
  564 +DROP TABLE IF EXISTS `supplier_account`;
  565 +CREATE TABLE `supplier_account` (
  566 + `account_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '账户ID',
  567 + `supplier_id` bigint(20) NOT NULL COMMENT '汽配厂家ID',
  568 + `balance` decimal(10, 2) NOT NULL DEFAULT 0.00 COMMENT '余额',
  569 + `account_status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '账户状态(0:正常, 1:冻结)',
  570 + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
  571 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  572 + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
  573 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  574 + PRIMARY KEY (`account_id`) USING BTREE,
  575 + UNIQUE INDEX `supplier_id`(`supplier_id`) USING BTREE,
  576 + INDEX `idx_supplier_id`(`supplier_id`) USING BTREE,
  577 + INDEX `fk_supplier_account_create_by_sys_user`(`create_by`) USING BTREE,
  578 + INDEX `fk_supplier_account_update_by_sys_user`(`update_by`) USING BTREE,
  579 + CONSTRAINT `fk_supplier_account_supplier_id` FOREIGN KEY (`supplier_id`) REFERENCES `supplier` (`supplier_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
  580 +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '汽配厂家账户表' ROW_FORMAT = DYNAMIC;
  581 +
  582 +-- ----------------------------
  583 +-- Table structure for supplier_account_flow
  584 +-- ----------------------------
  585 +DROP TABLE IF EXISTS `supplier_account_flow`;
  586 +CREATE TABLE `supplier_account_flow` (
  587 + `flow_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '流水ID',
  588 + `account_id` bigint(20) NOT NULL COMMENT '账户ID',
  589 + `supplier_id` bigint(20) NOT NULL COMMENT '汽配厂家ID',
  590 + `amount` decimal(10, 2) NOT NULL COMMENT '金额',
  591 + `balance` decimal(10, 2) NOT NULL COMMENT '余额',
  592 + `flow_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '流水类型(0:收入, 1:支出)',
  593 + `biz_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '业务类型(0:充值, 1:提现, 2:订单收款, 3:订单退款)',
  594 + `biz_id` bigint(20) NULL DEFAULT NULL COMMENT '业务ID(订单ID、充值单ID等)',
  595 + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
  596 + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
  597 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  598 + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
  599 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  600 + PRIMARY KEY (`flow_id`) USING BTREE,
  601 + INDEX `idx_account_id`(`account_id`) USING BTREE,
  602 + INDEX `idx_supplier_id`(`supplier_id`) USING BTREE,
  603 + INDEX `fk_supplier_flow_create_by_sys_user`(`create_by`) USING BTREE,
  604 + INDEX `fk_supplier_flow_update_by_sys_user`(`update_by`) USING BTREE,
  605 + CONSTRAINT `fk_supplier_flow_account_id` FOREIGN KEY (`account_id`) REFERENCES `supplier_account` (`account_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  606 + CONSTRAINT `fk_supplier_flow_supplier_id` FOREIGN KEY (`supplier_id`) REFERENCES `supplier` (`supplier_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
  607 +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '汽配厂家账户流水表' ROW_FORMAT = DYNAMIC;
  608 +
  609 +-- ----------------------------
  610 +-- Table structure for supplier_bank_account
  611 +-- ----------------------------
  612 +DROP TABLE IF EXISTS `supplier_bank_account`;
  613 +CREATE TABLE `supplier_bank_account` (
  614 + `account_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '银行账户ID',
  615 + `supplier_id` bigint(20) NOT NULL COMMENT '所属汽配厂家ID',
  616 + `bank_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收款银行名称',
  617 + `bank_account_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '收款账户类型(0: 对公, 1: 对私)',
  618 + `bank_account_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收款账户名称(户名)',
  619 + `bank_account_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收款银行卡号/账号',
  620 + `is_default` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '是否为默认提现账户(0:否, 1:是)',
  621 + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '数据状态(0:正常, 1:禁用/删除)',
  622 + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
  623 + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
  624 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  625 + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
  626 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  627 + PRIMARY KEY (`account_id`) USING BTREE,
  628 + UNIQUE INDEX `bank_account_no`(`bank_account_no`) USING BTREE,
  629 + UNIQUE INDEX `bank_account_no_unique`(`bank_account_no`) USING BTREE,
  630 + INDEX `idx_supplier_id`(`supplier_id`) USING BTREE,
  631 + INDEX `idx_create_by`(`create_by`) USING BTREE,
  632 + INDEX `idx_update_by`(`update_by`) USING BTREE,
  633 + CONSTRAINT `fk_supplier_bank_account_supplier_id` FOREIGN KEY (`supplier_id`) REFERENCES `supplier` (`supplier_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
  634 +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '汽配厂家银行账户表' ROW_FORMAT = DYNAMIC;
  635 +
  636 +-- ----------------------------
  637 +-- Table structure for supplier_user
  638 +-- ----------------------------
  639 +DROP TABLE IF EXISTS `supplier_user`;
  640 +CREATE TABLE `supplier_user` (
  641 + `user_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
  642 + `supplier_id` bigint(20) NULL DEFAULT NULL COMMENT '所属厂家ID',
  643 + `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户名',
  644 + `password` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '密码',
  645 + `nickname` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户昵称',
  646 + `phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机号',
  647 + `email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '邮箱',
  648 + `avatar_oss_id` bigint(20) NULL DEFAULT NULL COMMENT '头像OSS ID',
  649 + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '数据状态(0正常 1停用)',
  650 + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建者',
  651 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  652 + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新者',
  653 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  654 + PRIMARY KEY (`user_id`) USING BTREE,
  655 + UNIQUE INDEX `username`(`username`) USING BTREE,
  656 + UNIQUE INDEX `username_unique`(`username`) USING BTREE,
  657 + UNIQUE INDEX `phone`(`phone`) USING BTREE,
  658 + INDEX `fk_supplier_user_supplier_id`(`supplier_id`) USING BTREE,
  659 + INDEX `fk_supplier_user_avatar_oss`(`avatar_oss_id`) USING BTREE,
  660 + INDEX `fk_supplier_user_create_by_sys_user`(`create_by`) USING BTREE,
  661 + INDEX `fk_supplier_user_update_by_sys_user`(`update_by`) USING BTREE,
  662 + CONSTRAINT `fk_supplier_user_supplier_id_by_supplier` FOREIGN KEY (`supplier_id`) REFERENCES `supplier` (`supplier_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
  663 +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '汽配厂家用户表' ROW_FORMAT = DYNAMIC;
  664 +
  665 +-- ----------------------------
  666 +-- Table structure for supplier_warehouse
  667 +-- ----------------------------
  668 +DROP TABLE IF EXISTS `supplier_warehouse`;
  669 +CREATE TABLE `supplier_warehouse` (
  670 + `warehouse_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '仓库ID',
  671 + `supplier_id` bigint(20) NOT NULL COMMENT '所属汽配厂家ID',
  672 + `warehouse_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '仓库名称',
  673 + `warehouse_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '仓库类型(0:中心仓, 1:临时仓, 2:门店仓等)',
  674 + `province` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '省',
  675 + `city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '市',
  676 + `district` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '区',
  677 + `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '详细地址',
  678 + `admin_user_id` bigint(20) NULL DEFAULT NULL COMMENT '仓库管理员用户ID (关联 supplier_user)',
  679 + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '状态(0:正常, 1:禁用)',
  680 + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
  681 + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
  682 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  683 + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
  684 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  685 + PRIMARY KEY (`warehouse_id`) USING BTREE,
  686 + INDEX `idx_supplier_id`(`supplier_id`) USING BTREE,
  687 + INDEX `idx_warehouse_name`(`warehouse_name`) USING BTREE,
  688 + INDEX `fk_warehouse_admin_user_id`(`admin_user_id`) USING BTREE,
  689 + INDEX `fk_supplier_warehouse_create_by_sys_user`(`create_by`) USING BTREE,
  690 + INDEX `fk_supplier_warehouse_update_by_sys_user`(`update_by`) USING BTREE,
  691 + CONSTRAINT `fk_warehouse_admin_user_id` FOREIGN KEY (`admin_user_id`) REFERENCES `supplier_user` (`user_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  692 + CONSTRAINT `fk_warehouse_supplier_id` FOREIGN KEY (`supplier_id`) REFERENCES `supplier` (`supplier_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
  693 +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '汽配厂家仓库表' ROW_FORMAT = DYNAMIC;
  694 +
  695 +-- ----------------------------
  696 +-- Table structure for supplier_withdrawal_apply
  697 +-- ----------------------------
  698 +DROP TABLE IF EXISTS `supplier_withdrawal_apply`;
  699 +CREATE TABLE `supplier_withdrawal_apply` (
  700 + `apply_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '申请ID',
  701 + `supplier_id` bigint(20) NOT NULL COMMENT '申请提现的汽配厂家ID',
  702 + `bank_account_id` bigint(20) NOT NULL COMMENT '提现银行账户ID',
  703 + `apply_sn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提现申请单号',
  704 + `apply_amount` decimal(10, 2) NOT NULL COMMENT '申请提现金额',
  705 + `apply_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '申请提交时间',
  706 + `apply_status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '申请业务状态(0:待审核, 1:审核通过, 2:审核驳回, 3:已打款, 4:打款失败, 9:已取消)',
  707 + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '数据状态(0:正常, 1:已归档)',
  708 + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
  709 + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
  710 + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  711 + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
  712 + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  713 + PRIMARY KEY (`apply_id`) USING BTREE,
  714 + UNIQUE INDEX `apply_sn`(`apply_sn`) USING BTREE,
  715 + INDEX `idx_supplier_id`(`supplier_id`) USING BTREE,
  716 + INDEX `idx_bank_account_id`(`bank_account_id`) USING BTREE,
  717 + INDEX `fk_withdrawal_apply_create_by_supplier_user`(`create_by`) USING BTREE,
  718 + INDEX `fk_withdrawal_apply_update_by_supplier_user`(`update_by`) USING BTREE,
  719 + CONSTRAINT `fk_withdrawal_apply_bank_account_id` FOREIGN KEY (`bank_account_id`) REFERENCES `supplier_bank_account` (`account_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  720 + CONSTRAINT `fk_withdrawal_apply_supplier_id` FOREIGN KEY (`supplier_id`) REFERENCES `supplier` (`supplier_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
  721 +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '汽配厂家提现申请表' ROW_FORMAT = DYNAMIC;
  722 +
  723 +-- ----------------------------
  724 +-- Table structure for supplier_withdrawal_review_log
  725 +-- ----------------------------
  726 +DROP TABLE IF EXISTS `supplier_withdrawal_review_log`;
  727 +CREATE TABLE `supplier_withdrawal_review_log` (
  728 + `log_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '日志ID',
  729 + `apply_id` bigint(20) NOT NULL COMMENT '提现申请ID',
  730 + `reviewer_id` bigint(20) NOT NULL COMMENT '审核人ID',
  731 + `review_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '审核时间',
  732 + `review_result` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '审核结果(0:通过, 1:驳回)',
  733 + `review_reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '审核意见/原因',
  734 + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
  735 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  736 + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
  737 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  738 + PRIMARY KEY (`log_id`) USING BTREE,
  739 + INDEX `idx_apply_id`(`apply_id`) USING BTREE,
  740 + INDEX `idx_reviewer_id`(`reviewer_id`) USING BTREE,
  741 + INDEX `fk_review_log_create_by_sys_user`(`create_by`) USING BTREE,
  742 + INDEX `fk_review_log_update_by_sys_user`(`update_by`) USING BTREE
  743 +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '汽配厂家提现审核日志表' ROW_FORMAT = DYNAMIC;
  744 +
  745 +-- ----------------------------
  746 +-- Table structure for withdrawal_review_log
  747 +-- ----------------------------
  748 +DROP TABLE IF EXISTS `withdrawal_review_log`;
  749 +CREATE TABLE `withdrawal_review_log` (
  750 + `log_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '日志ID',
  751 + `apply_id` bigint(20) NOT NULL COMMENT '关联的提现申请ID',
  752 + `reviewer_id` bigint(20) NOT NULL COMMENT '审核人ID',
  753 + `review_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '审核时间',
  754 + `review_status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '审核结果(0:通过, 1:驳回)',
  755 + `review_reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '审核意见/原因',
  756 + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
  757 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  758 + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
  759 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  760 + PRIMARY KEY (`log_id`) USING BTREE,
  761 + INDEX `idx_apply_id`(`apply_id`) USING BTREE,
  762 + INDEX `idx_reviewer_id`(`reviewer_id`) USING BTREE,
  763 + INDEX `fk_review_log_create_by_sys_user`(`create_by`) USING BTREE,
  764 + INDEX `fk_review_log_update_by_sys_user`(`update_by`) USING BTREE,
  765 + CONSTRAINT `fk_review_log_apply_id` FOREIGN KEY (`apply_id`) REFERENCES `supplier_withdrawal_apply` (`apply_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
  766 +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '提现审核日志表' ROW_FORMAT = DYNAMIC;
  767 +
  768 +SET FOREIGN_KEY_CHECKS = 1;
@@ -47,29 +47,47 @@ CREATE TABLE `garage` ( @@ -47,29 +47,47 @@ CREATE TABLE `garage` (
47 `garage_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '汽修厂名称', 47 `garage_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '汽修厂名称',
48 `contact_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '负责人名称', 48 `contact_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '负责人名称',
49 `contact_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '负责人手机号码', 49 `contact_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '负责人手机号码',
50 - `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '密码',  
51 - `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '状态(0:正常, 1:禁用)',  
52 - `last_login_time` datetime NULL DEFAULT NULL COMMENT '最后登录时间',  
53 `level` int(11) NOT NULL DEFAULT 1 COMMENT '等级', 50 `level` int(11) NOT NULL DEFAULT 1 COMMENT '等级',
54 - `wechat_openid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信OpenID',  
55 `province` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '省', 51 `province` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '省',
56 `city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '市', 52 `city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '市',
57 `district` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '区', 53 `district` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '区',
58 `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '详细地址', 54 `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '详细地址',
  55 + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '状态(0:正常, 1:禁用)',
59 `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID', 56 `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
60 `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 57 `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
61 `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID', 58 `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
62 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', 59 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
63 PRIMARY KEY (`garage_id`) USING BTREE, 60 PRIMARY KEY (`garage_id`) USING BTREE,
64 UNIQUE INDEX `contact_phone`(`contact_phone`) USING BTREE, 61 UNIQUE INDEX `contact_phone`(`contact_phone`) USING BTREE,
65 - UNIQUE INDEX `wechat_openid`(`wechat_openid`) USING BTREE,  
66 INDEX `idx_contact_phone`(`contact_phone`) USING BTREE, 62 INDEX `idx_contact_phone`(`contact_phone`) USING BTREE,
67 INDEX `fk_garage_create_by_sys_user`(`create_by`) USING BTREE, 63 INDEX `fk_garage_create_by_sys_user`(`create_by`) USING BTREE,
68 - INDEX `fk_garage_update_by_sys_user`(`update_by`) USING BTREE,  
69 - CONSTRAINT `fk_garage_create_by_sys_user` FOREIGN KEY (`create_by`) REFERENCES `sys_user` (`user_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,  
70 - CONSTRAINT `fk_garage_update_by_sys_user` FOREIGN KEY (`update_by`) REFERENCES `sys_user` (`user_id`) ON DELETE RESTRICT ON UPDATE RESTRICT 64 + INDEX `fk_garage_update_by_sys_user`(`update_by`) USING BTREE
71 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '汽修厂信息表' ROW_FORMAT = Dynamic; 65 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '汽修厂信息表' ROW_FORMAT = Dynamic;
72 66
  67 +
  68 +CREATE TABLE `garage_user` (
  69 + `user_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '汽修厂用户ID',
  70 + `garage_id` BIGINT(20) NOT NULL COMMENT '所属汽修厂ID',
  71 + `username` VARCHAR(50) NOT NULL COMMENT '登录用户名/手机号',
  72 + `password` VARCHAR(255) NOT NULL COMMENT '密码(加密)',
  73 + `real_name` VARCHAR(50) DEFAULT NULL COMMENT '用户真实姓名',
  74 + `phone` VARCHAR(20) DEFAULT NULL COMMENT '手机号',
  75 + `is_admin` CHAR(1) NOT NULL DEFAULT '0' COMMENT '是否是汽修厂管理员(0:否, 1:是)',
  76 + `role` VARCHAR(20) DEFAULT 'admin' COMMENT '角色(admin/employee)',
  77 + `wechat_openid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信OpenID',
  78 + `status` CHAR(1) NOT NULL DEFAULT '0' COMMENT '状态(0:正常, 1:禁用)',
  79 + `last_login_time` DATETIME DEFAULT NULL COMMENT '最后登录时间',
  80 + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
  81 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  82 + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
  83 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  84 + PRIMARY KEY (`user_id`),
  85 + UNIQUE KEY `uk_username` (`username`),
  86 + KEY `idx_garage_id` (`garage_id`),
  87 + CONSTRAINT `fk_garage_user_garage_id` FOREIGN KEY (`garage_id`) REFERENCES `garage` (`garage_id`) ON DELETE CASCADE ON UPDATE CASCADE
  88 +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='汽修厂用户表';
  89 +
  90 +
73 -- ---------------------------- 91 -- ----------------------------
74 -- Table structure for garage_account 92 -- Table structure for garage_account
75 -- ---------------------------- 93 -- ----------------------------
@@ -818,7 +836,8 @@ CREATE TABLE `supplier` ( @@ -818,7 +836,8 @@ CREATE TABLE `supplier` (
818 `bank_account_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收款账户名称(户名)', 836 `bank_account_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收款账户名称(户名)',
819 `bank_account_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收款银行卡号/账号', 837 `bank_account_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收款银行卡号/账号',
820 `level` int(11) NOT NULL DEFAULT 1 COMMENT '等级', 838 `level` int(11) NOT NULL DEFAULT 1 COMMENT '等级',
821 - `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '状态(0:正常, 1:禁用, 2:待审核)', 839 + `review_status` char(1) NOT NULL DEFAULT '2' COMMENT '审核状态(0:审核通过, 1:审核驳回, 2:待审核)', -- **原status更名为review_status**
  840 + `status` char(1) NOT NULL DEFAULT '0' COMMENT '数据状态(0:正常, 1:禁用)', -- **新增数据状态字段**
822 `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID', 841 `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
823 `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 842 `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
824 `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID', 843 `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
@@ -1033,7 +1052,7 @@ CREATE TABLE `supplier_withdrawal_apply` ( @@ -1033,7 +1052,7 @@ CREATE TABLE `supplier_withdrawal_apply` (
1033 `apply_sn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '提现申请单号', 1052 `apply_sn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '提现申请单号',
1034 `apply_amount` decimal(10, 2) NOT NULL COMMENT '申请提现金额', 1053 `apply_amount` decimal(10, 2) NOT NULL COMMENT '申请提现金额',
1035 `apply_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '申请提交时间', 1054 `apply_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '申请提交时间',
1036 - `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '申请状态(0:待审核, 1:审核通过, 2:审核驳回, 3:已打款, 4:打款失败, 9:已取消)', 1055 + `apply_status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '申请业务状态(0:待审核, 1:审核通过, 2:审核驳回, 3:已打款, 4:打款失败, 9:已取消)', -- **原status更名为apply_status**
1037 `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', 1056 `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
1038 `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID', 1057 `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
1039 `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 1058 `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',