Authored by meijiajie

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

Showing 50 changed files with 879 additions and 553 deletions
... ... @@ -368,13 +368,12 @@
</dependencyManagement>
<modules>
<module>scm-admin</module>
<module>scm-platform-server</module>
<module>scm-supplier-server</module>
<module>scm-garage-server</module>
<module>scm-framework</module>
<module>scm-system</module>
<module>scm-extend</module>
<module>scm-framework/scm-redis</module>
<module>scm-framework/scm-ratelimiter</module>
<module>scm-framework/scm-encrypt</module>
</modules>
<packaging>pom</packaging>
... ...
... ... @@ -14,7 +14,7 @@ spring:
datasource:
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
url: jdbc:mysql://192.168.1.18:3306/fp_scm?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
username: root
password: root
hikari:
... ...
... ... @@ -13,14 +13,18 @@
<modules>
<module>scm-common</module>
<module>scm-core</module>
<module>scm-encrypt</module>
<module>scm-generator</module>
<module>scm-job</module>
<module>scm-mybatis</module>
<module>scm-oss</module>
<module>scm-sms</module>
<module>scm-core</module>
<module>scm-ratelimiter</module>
<module>scm-redis</module>
<module>scm-security</module>
<module>scm-sms</module>
<module>scm-web</module>
</modules>
... ...
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.scm</groupId>
<artifactId>fp_scm</artifactId>
<version>4.8.2</version>
</parent>
<groupId>com.ruoyi.encrypt</groupId>
<artifactId>scm-garage-server</artifactId>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>
... ...
... ... @@ -9,7 +9,7 @@
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<artifactId>scm-admin</artifactId>
<artifactId>scm-platform-server</artifactId>
<description>
web服务入口
... ...
... ... @@ -2,6 +2,7 @@ package com.ruoyi;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.context.metrics.buffering.BufferingApplicationStartup;
/**
... ... @@ -11,14 +12,14 @@ import org.springframework.boot.context.metrics.buffering.BufferingApplicationSt
*/
@SpringBootApplication
public class RuoYiApplication {
public class PlatformApplication {
public static void main(String[] args) {
System.setProperty("spring.devtools.restart.enabled", "false");
SpringApplication application = new SpringApplication(RuoYiApplication.class);
SpringApplication application = new SpringApplication(PlatformApplication.class);
application.setApplicationStartup(new BufferingApplicationStartup(2048));
application.run(args);
System.out.println("(♥◠‿◠)ノ゙ RuoYi-Vue-Plus启动成功 ლ(´ڡ`ლ)゙");
System.out.println("FP SCM running successful...");
}
}
... ...
... ... @@ -8,11 +8,11 @@ import org.springframework.boot.web.servlet.support.SpringBootServletInitializer
*
* @author ruoyi
*/
public class RuoYiServletInitializer extends SpringBootServletInitializer {
public class PlatformServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(RuoYiApplication.class);
return application.sources(PlatformApplication.class);
}
}
... ...
... ... @@ -42,24 +42,6 @@ spring:
primary: master
# 严格模式 匹配不到数据源则报错
strict: true
datasource:
# 主库数据源
master:
type: ${spring.datasource.type}
driverClassName: com.mysql.cj.jdbc.Driver
# jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
# rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
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
username: root
password: root
# 从库数据源
slave:
lazy: true
type: ${spring.datasource.type}
driverClassName: com.mysql.cj.jdbc.Driver
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
username: root
password: root
hikari:
# 最大连接池数量
maxPoolSize: 20
... ... @@ -75,21 +57,34 @@ spring:
maxLifetime: 1800000
# 多久检查一次连接的活性
keepaliveTime: 30000
shardingsphere:
datasource:
names: ds0,ds1
ds0:
# 主库数据源
master:
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
# jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
# rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
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
username: root
password: root
# 从库数据源
slave:
lazy: true
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
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
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
username: root
password: root
ds1:
shardingsphere:
datasource:
names: ds0
ds0:
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
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
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
username: root
password: root
rules: # 配置表规则
sharding:
# 表策略配置
... ... @@ -125,7 +120,7 @@ spring:
spring:
redis:
# 地址
host: 192.168.1.19
host: 192.168.1.18
# 端口,默认为6379
port: 6379
# 数据库索引
... ...
... ... @@ -258,6 +258,9 @@ lock4j:
--- # Actuator 监控端点的配置项
management:
health:
db:
enabled: false # 禁用所有数据源的健康检查
endpoints:
web:
exposure:
... ...
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.scm</groupId>
<artifactId>fp_scm</artifactId>
<version>4.8.2</version>
</parent>
<groupId>com.ruoyi.encrypt</groupId>
<artifactId>scm-supplier-server</artifactId>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>
... ...
-- 为方便建表,暂时禁用外键检查(可选,但对于不维护外键的情况影响不大)
SET FOREIGN_KEY_CHECKS = 0;
-- 2. 汽修厂相关表
-- garage (汽修厂信息表)
DROP TABLE IF EXISTS `garage`;
CREATE TABLE `garage`
(
`garage_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '汽修厂ID',
`garage_name` VARCHAR(100) NOT NULL COMMENT '汽修厂名称',
`contact_name` VARCHAR(50) NOT NULL COMMENT '负责人名称',
`contact_phone` VARCHAR(20) NOT NULL UNIQUE COMMENT '负责人手机号码',
`password` VARCHAR(255) NOT NULL COMMENT '密码',
`status` CHAR(1) NOT NULL DEFAULT '0' COMMENT '状态(0:正常, 1:禁用)',
`last_login_time` DATETIME DEFAULT NULL COMMENT '最后登录时间',
`level` INT(11) NOT NULL DEFAULT 1 COMMENT '等级',
`wechat_openid` VARCHAR(50) UNIQUE DEFAULT NULL COMMENT '微信OpenID',
`province` VARCHAR(50) DEFAULT NULL COMMENT '省',
`city` VARCHAR(50) DEFAULT NULL COMMENT '市',
`district` VARCHAR(50) DEFAULT NULL COMMENT '区',
`address` VARCHAR(255) DEFAULT NULL COMMENT '详细地址',
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`garage_id`),
KEY `idx_contact_phone` (`contact_phone`)
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8mb4 COMMENT ='汽修厂信息表';
-- garage_account (汽修厂账户表)
DROP TABLE IF EXISTS `garage_account`;
CREATE TABLE `garage_account`
(
`account_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '账户ID',
`garage_id` BIGINT(20) NOT NULL UNIQUE COMMENT '汽修厂ID',
`balance` DECIMAL(10, 2) NOT NULL DEFAULT 0.00 COMMENT '余额',
`account_status` CHAR(1) NOT NULL DEFAULT '0' COMMENT '账户状态(0:正常, 1:冻结)',
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`account_id`),
KEY `idx_garage_id` (`garage_id`)
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8mb4 COMMENT ='汽修厂账户表';
-- garage_account_flow (汽修厂账户流水表)
DROP TABLE IF EXISTS `garage_account_flow`;
CREATE TABLE `garage_account_flow`
(
`flow_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '流水ID',
`account_id` BIGINT(20) NOT NULL COMMENT '账户ID',
`garage_id` BIGINT(20) NOT NULL COMMENT '汽修厂ID',
`amount` DECIMAL(10, 2) NOT NULL COMMENT '金额',
`balance` DECIMAL(10,2) NOT NULL COMMENT '余额',
`flow_type` CHAR(1) NOT NULL COMMENT '流水类型(0:收入, 1:支出)',
`biz_type` CHAR(1) NOT NULL COMMENT '业务类型(0:充值, 1:提现, 2:支付, 3:退款)',
`biz_id` BIGINT(20) DEFAULT NULL COMMENT '业务ID(订单ID、充值单ID等)',
`remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`flow_id`),
KEY `idx_account_id` (`account_id`),
KEY `idx_garage_id` (`garage_id`)
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8mb4 COMMENT ='汽修厂账户流水表';
-- 3. 汽配厂家相关表
-- supplier (汽配厂家信息表)
DROP TABLE IF EXISTS `supplier`;
CREATE TABLE `supplier`
(
`supplier_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '汽配厂家ID',
`company_name` VARCHAR(100) NOT NULL COMMENT '公司名称',
`shop_name` VARCHAR(100) NOT NULL COMMENT '店铺名称',
`province` VARCHAR(50) NOT NULL COMMENT '省',
`city` VARCHAR(50) NOT NULL COMMENT '市',
`district` VARCHAR(50) NOT NULL COMMENT '区',
`address` VARCHAR(255) NOT NULL COMMENT '详细地址',
`license_oss_id` BIGINT(20) DEFAULT NULL COMMENT '营业执照照片OSS ID',
`legal_person_id_front_oss_id` BIGINT(20) DEFAULT NULL COMMENT '法人身份证正面OSS ID',
`legal_person_id_back_oss_id` BIGINT(20) DEFAULT NULL COMMENT '法人身份证反面OSS ID',
`office_photo_1_oss_id` BIGINT(20) DEFAULT NULL COMMENT '办公场所照片1 OSS ID',
`office_photo_2_oss_id` BIGINT(20) DEFAULT NULL COMMENT '办公场所照片2 OSS ID',
`office_photo_3_oss_id` BIGINT(20) DEFAULT NULL COMMENT '办公场所照片3 OSS ID',
`main_car_brands` VARCHAR(500) DEFAULT NULL COMMENT '主营车型品牌(多选,逗号分隔)',
`contact_name` VARCHAR(50) NOT NULL COMMENT '联系人名称',
`contact_phone` VARCHAR(20) NOT NULL UNIQUE COMMENT '联系人电话',
`email` VARCHAR(100) DEFAULT NULL COMMENT '电子邮箱',
`level` INT(11) NOT NULL DEFAULT 1 COMMENT '等级',
`status` CHAR(1) NOT NULL DEFAULT '0' COMMENT '状态(0:正常, 1:禁用, 2:待审核)',
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`supplier_id`),
KEY `idx_contact_phone` (`contact_phone`),
KEY `idx_company_name` (`company_name`)
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8mb4 COMMENT ='汽配厂家信息表';
-- supplier_user (汽配厂家用户表)
DROP TABLE IF EXISTS `supplier_user`;
CREATE TABLE `supplier_user`
(
`user_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`supplier_id` BIGINT(20) NOT NULL COMMENT '汽配厂家ID',
`username` VARCHAR(50) NOT NULL COMMENT '名称',
`phone` VARCHAR(20) NOT NULL UNIQUE COMMENT '手机号',
`password` VARCHAR(255) NOT NULL COMMENT '密码',
`status` CHAR(1) NOT NULL DEFAULT '0' COMMENT '状态(0:正常, 1:禁用)',
`last_login_time` DATETIME DEFAULT NULL COMMENT '最后登录时间',
`wechat_openid` VARCHAR(50) UNIQUE DEFAULT NULL COMMENT '微信OpenID',
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`user_id`),
KEY `idx_supplier_id` (`supplier_id`),
KEY `idx_phone` (`phone`)
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8mb4 COMMENT ='汽配厂家用户表';
-- supplier_account (汽配厂家账户表)
DROP TABLE IF EXISTS `supplier_account`;
CREATE TABLE `supplier_account`
(
`account_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '账户ID',
`supplier_id` BIGINT(20) NOT NULL UNIQUE COMMENT '汽配厂家ID',
`balance` DECIMAL(10, 2) NOT NULL DEFAULT 0.00 COMMENT '余额',
`account_status` CHAR(1) NOT NULL DEFAULT '0' COMMENT '账户状态(0:正常, 1:冻结)',
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`account_id`),
KEY `idx_supplier_id` (`supplier_id`)
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8mb4 COMMENT ='汽配厂家账户表';
-- supplier_account_flow (汽配厂家账户流水表)
DROP TABLE IF EXISTS `supplier_account_flow`;
CREATE TABLE `supplier_account_flow`
(
`flow_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '流水ID',
`account_id` BIGINT(20) NOT NULL COMMENT '账户ID',
`supplier_id` BIGINT(20) NOT NULL COMMENT '汽配厂家ID',
`amount` DECIMAL(10, 2) NOT NULL COMMENT '金额',
`balance` DECIMAL(10,2) NOT NULL COMMENT '余额',
`flow_type` CHAR(1) NOT NULL COMMENT '流水类型(0:收入, 1:支出)',
`biz_type` CHAR(1) NOT NULL COMMENT '业务类型(0:充值, 1:提现, 2:订单收款, 3:订单退款)',
`biz_id` BIGINT(20) DEFAULT NULL COMMENT '业务ID(订单ID、充值单ID等)',
`remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`flow_id`),
KEY `idx_account_id` (`account_id`),
KEY `idx_supplier_id` (`supplier_id`)
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8mb4 COMMENT ='汽配厂家账户流水表';
-- 4. 商品/配件相关表
-- car_model (汽车车型信息表)
DROP TABLE IF EXISTS `car_model`;
CREATE TABLE `car_model`
(
`model_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '车型ID',
`brand_name` VARCHAR(50) NOT NULL COMMENT '品牌名称',
`series_name` VARCHAR(50) NOT NULL COMMENT '车系名称',
`model_name` VARCHAR(100) NOT NULL COMMENT '车型名称',
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`model_id`),
KEY `idx_brand_series` (`brand_name`, `series_name`)
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8mb4 COMMENT ='汽车车型信息表';
-- parts_category (配件类目表)
DROP TABLE IF EXISTS `parts_category`;
CREATE TABLE `parts_category`
(
`category_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '类目ID',
`parent_id` BIGINT(20) NOT NULL DEFAULT 0 COMMENT '父类目ID',
`category_name` VARCHAR(100) NOT NULL COMMENT '类目名称',
`sort_order` INT(11) DEFAULT 0 COMMENT '排序',
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`category_id`),
KEY `idx_parent_id` (`parent_id`)
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8mb4 COMMENT ='配件类目表';
-- parts_info (配件信息表)
DROP TABLE IF EXISTS `parts_info`;
CREATE TABLE `parts_info`
(
`part_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '配件ID',
`category_id` BIGINT(20) NOT NULL COMMENT '类目ID',
`part_name` VARCHAR(255) NOT NULL COMMENT '配件名称',
`part_code` VARCHAR(50) UNIQUE DEFAULT NULL COMMENT '配件编码',
`unit` VARCHAR(20) DEFAULT NULL COMMENT '单位',
`description` TEXT DEFAULT NULL COMMENT '描述',
`main_image_oss_id` BIGINT(20) DEFAULT NULL COMMENT '主图OSS ID',
`status` CHAR(1) NOT NULL DEFAULT '0' COMMENT '状态(0:正常, 1:下架)',
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`part_id`),
KEY `idx_category_id` (`category_id`),
KEY `idx_part_code` (`part_code`),
KEY `idx_part_name` (`part_name`)
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8mb4 COMMENT ='配件信息表';
-- 5. 询价单与报价相关表 (原分类,此处为方便结构阅读,购物车通常与用户和商品关联)
-- shopping_cart (购物车表)
DROP TABLE IF EXISTS `shopping_cart`;
CREATE TABLE `shopping_cart` (
`cart_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '购物车ID',
`garage_id` BIGINT(20) NOT NULL COMMENT '汽修厂ID (对应购买方)',
`part_id` BIGINT(20) NOT NULL COMMENT '配件ID',
`quantity` INT(11) NOT NULL DEFAULT 1 COMMENT '数量',
`quality_requirement` CHAR(1) DEFAULT NULL COMMENT '品质要求(0:原厂件, 1:品牌件, 2:配套件, 3:拆车件)',
`added_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '加入购物车时间',
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`cart_id`),
UNIQUE KEY `uk_garage_part` (`garage_id`, `part_id`, `quality_requirement`), -- 确保同一个汽修厂对同配件同品质只存在一条购物车记录
KEY `idx_garage_id` (`garage_id`),
KEY `idx_part_id` (`part_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='购物车表';
-- 5. 询价单与报价相关表
-- inquiry_order (询价单表)
DROP TABLE IF EXISTS `inquiry_order`;
CREATE TABLE `inquiry_order`
(
`inquiry_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '询价单ID',
`garage_id` BIGINT(20) NOT NULL COMMENT '汽修厂ID',
`inquiry_sn` VARCHAR(50) NOT NULL UNIQUE COMMENT '询价单号',
`vin` VARCHAR(17) NOT NULL COMMENT '车架号VIN',
`car_brand` VARCHAR(50) NOT NULL COMMENT '汽车品牌',
`car_model` VARCHAR(100) NOT NULL COMMENT '汽车型号',
`total_amount` DECIMAL(10, 2) NOT NULL DEFAULT 0.00 COMMENT '询价总金额(最终选定后的合计)',
`invoice_required` CHAR(1) NOT NULL DEFAULT '0' COMMENT '是否需要发票(0:否, 1:是)',
`direct_supply` CHAR(1) NOT NULL DEFAULT '0' COMMENT '是否直供单(0:否, 1:是)',
`supply_region` CHAR(1) NOT NULL COMMENT '供货区域(0:本市, 1:本省, 2:全国)',
`receive_name` VARCHAR(50) NOT NULL COMMENT '收货人姓名',
`receive_phone` VARCHAR(20) NOT NULL COMMENT '收货人电话',
`receive_province` VARCHAR(50) NOT NULL COMMENT '收货省',
`receive_city` VARCHAR(50) NOT NULL COMMENT '收货市',
`receive_district` VARCHAR(50) NOT NULL COMMENT '收货区',
`receive_address` VARCHAR(255) NOT NULL COMMENT '收货详细地址',
`status` CHAR(1) NOT NULL DEFAULT '0' COMMENT '状态(0:待报价, 1:已报价, 2:已选标, 3:已完成, 4:已取消, 5:已超时)',
`expire_time` DATETIME NOT NULL COMMENT '询价超时时间',
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`inquiry_id`),
KEY `idx_garage_id` (`garage_id`),
KEY `idx_inquiry_sn` (`inquiry_sn`),
KEY `idx_vin` (`vin`),
KEY `idx_status` (`status`)
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8mb4 COMMENT ='询价单表';
-- inquiry_order_item (询价单商品明细表)
DROP TABLE IF EXISTS `inquiry_order_item`;
CREATE TABLE `inquiry_order_item`
(
`item_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '询价明细ID',
`inquiry_id` BIGINT(20) NOT NULL COMMENT '询价单ID',
`part_id` BIGINT(20) NOT NULL COMMENT '配件ID',
`part_name` VARCHAR(255) NOT NULL COMMENT '配件名称(冗余)',
`quantity` INT(11) NOT NULL COMMENT '数量',
`quality_requirement` CHAR(1) NOT NULL COMMENT '品质要求(0:原厂件, 1:品牌件, 2:配套件, 3:拆车件)',
`remark` VARCHAR(500) DEFAULT NULL COMMENT '备注',
`selected_quote_id` BIGINT(20) DEFAULT NULL COMMENT '选中的报价ID',
`final_price` DECIMAL(10, 2) DEFAULT NULL COMMENT '最终成交单价',
`final_total` DECIMAL(10, 2) DEFAULT NULL COMMENT '最终成交总价',
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`item_id`),
KEY `idx_inquiry_id` (`inquiry_id`),
KEY `idx_part_id` (`part_id`)
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8mb4 COMMENT ='询价单商品明细表';
-- inquiry_quote (询价报价表)
DROP TABLE IF EXISTS `inquiry_quote`;
CREATE TABLE `inquiry_quote`
(
`quote_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '报价ID',
`inquiry_id` BIGINT(20) NOT NULL COMMENT '询价单ID',
`inquiry_item_id` BIGINT(20) NOT NULL COMMENT '询价单明细ID',
`supplier_id` BIGINT(20) NOT NULL COMMENT '汽配厂家ID',
`quoted_price` DECIMAL(10, 2) NOT NULL COMMENT '报价单价',
`quoted_quantity` INT(11) NOT NULL COMMENT '报价数量',
`total_price` DECIMAL(10, 2) NOT NULL COMMENT '报价总价',
`delivery_time` VARCHAR(50) DEFAULT NULL COMMENT '预计发货时间',
`remark` VARCHAR(500) DEFAULT NULL COMMENT '报价备注',
`status` CHAR(1) NOT NULL DEFAULT '0' COMMENT '状态(0:待选标, 1:已中标, 2:未中标, 3:已取消)',
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`quote_id`),
KEY `idx_inquiry_id` (`inquiry_id`),
KEY `idx_inquiry_item_id` (`inquiry_item_id`),
KEY `idx_supplier_id` (`supplier_id`)
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8mb4 COMMENT ='询价报价表';
-- 6. 订单与支付相关表
-- order_main (主订单表)
DROP TABLE IF EXISTS `order_main`;
CREATE TABLE `order_main`
(
`order_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '主订单ID',
`order_sn` VARCHAR(50) NOT NULL UNIQUE COMMENT '订单号',
`inquiry_id` BIGINT(20) NOT NULL COMMENT '询价单ID',
`garage_id` BIGINT(20) NOT NULL COMMENT '汽修厂ID',
`total_amount` DECIMAL(10, 2) NOT NULL COMMENT '订单总金额',
`pay_amount` DECIMAL(10, 2) NOT NULL COMMENT '实际支付金额',
`payment_method` CHAR(1) DEFAULT NULL COMMENT '支付方式(0:余额, 1:微信支付, 2:支付宝)',
`payment_time` DATETIME DEFAULT NULL COMMENT '支付时间',
`invoice_required` CHAR(1) NOT NULL DEFAULT '0' COMMENT '是否需要发票',
`direct_supply` CHAR(1) NOT NULL DEFAULT '0' COMMENT '是否直供单',
`receive_name` VARCHAR(50) NOT NULL COMMENT '收货人姓名',
`receive_phone` VARCHAR(20) NOT NULL COMMENT '收货人电话',
`receive_province` VARCHAR(50) NOT NULL COMMENT '收货省',
`receive_city` VARCHAR(50) NOT NULL COMMENT '收货市',
`receive_district` VARCHAR(50) NOT NULL COMMENT '收货区',
`receive_address` VARCHAR(255) NOT NULL COMMENT '收货详细地址',
`status` CHAR(1) NOT NULL DEFAULT '0' COMMENT '订单状态(0:待支付, 1:待发货, 2:待收货, 3:已完成, 4:已取消, 5:已退款)',
`remark` VARCHAR(500) DEFAULT NULL COMMENT '备注',
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`order_id`),
KEY `idx_order_sn` (`order_sn`),
KEY `idx_inquiry_id` (`inquiry_id`),
KEY `idx_garage_id` (`garage_id`),
KEY `idx_status` (`status`)
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8mb4 COMMENT ='主订单表';
-- order_sub (子订单表)
DROP TABLE IF EXISTS `order_sub`;
CREATE TABLE `order_sub`
(
`sub_order_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '子订单ID',
`main_order_id` BIGINT(20) NOT NULL COMMENT '主订单ID',
`supplier_id` BIGINT(20) NOT NULL COMMENT '汽配厂家ID',
`sub_order_sn` VARCHAR(50) NOT NULL UNIQUE COMMENT '子订单号',
`total_amount` DECIMAL(10, 2) NOT NULL COMMENT '子订单总金额',
`pay_amount` DECIMAL(10, 2) NOT NULL COMMENT '实际支付金额',
`status` CHAR(1) NOT NULL DEFAULT '0' COMMENT '订单状态(0:待发货, 1:待收货, 2:已完成, 3:已取消, 4:已退款)',
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`sub_order_id`),
KEY `idx_main_order_id` (`main_order_id`),
KEY `idx_supplier_id` (`supplier_id`),
KEY `idx_sub_order_sn` (`sub_order_sn`),
KEY `idx_status` (`status`)
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8mb4 COMMENT ='子订单表';
-- order_item (订单商品明细表)
DROP TABLE IF EXISTS `order_item`;
CREATE TABLE `order_item`
(
`item_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '订单明细ID',
`main_order_id` BIGINT(20) NOT NULL COMMENT '主订单ID',
`sub_order_id` BIGINT(20) DEFAULT NULL COMMENT '子订单ID(如果存在)',
`part_id` BIGINT(20) NOT NULL COMMENT '配件ID',
`part_name` VARCHAR(255) NOT NULL COMMENT '配件名称(冗余)',
`quantity` INT(11) NOT NULL COMMENT '数量',
`unit_price` DECIMAL(10, 2) NOT NULL COMMENT '成交单价',
`total_price` DECIMAL(10, 2) NOT NULL COMMENT '成交总价',
`quality_type` CHAR(1) NOT NULL COMMENT '品质类型(0:原厂件, 1:品牌件, 2:配套件, 3:拆车件)',
`supplier_id` BIGINT(20) DEFAULT NULL COMMENT '供货厂家ID',
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`item_id`),
KEY `idx_main_order_id` (`main_order_id`),
KEY `idx_sub_order_id` (`sub_order_id`),
KEY `idx_part_id` (`part_id`),
KEY `idx_supplier_id` (`supplier_id`)
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8mb4 COMMENT ='订单商品明细表';
-- order_delivery (订单发货表)
DROP TABLE IF EXISTS `order_delivery`;
CREATE TABLE `order_delivery`
(
`delivery_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '发货单ID',
`sub_order_id` BIGINT(20) NOT NULL UNIQUE COMMENT '子订单ID',
`supplier_id` BIGINT(20) NOT NULL COMMENT '汽配厂家ID',
`delivery_sn` VARCHAR(50) UNIQUE DEFAULT NULL COMMENT '发货单号',
`logistics_company` VARCHAR(100) DEFAULT NULL COMMENT '物流公司',
`tracking_number` VARCHAR(100) DEFAULT NULL COMMENT '运单号',
`delivery_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '发货时间',
`receiver_name` VARCHAR(50) NOT NULL COMMENT '收货人姓名',
`receiver_phone` VARCHAR(20) NOT NULL COMMENT '收货人电话',
`receiver_address` VARCHAR(255) NOT NULL COMMENT '收货地址',
`status` CHAR(1) NOT NULL DEFAULT '0' COMMENT '状态(0:待收货, 1:已收货, 2:退回中, 3:已退回)',
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`delivery_id`),
KEY `idx_sub_order_id` (`sub_order_id`),
KEY `idx_supplier_id` (`supplier_id`),
KEY `idx_tracking_number` (`tracking_number`)
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8mb4 COMMENT ='订单发货表';
-- order_receipt (订单收货表)
DROP TABLE IF EXISTS `order_receipt`;
CREATE TABLE `order_receipt`
(
`receipt_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '收货单ID',
`delivery_id` BIGINT(20) NOT NULL UNIQUE COMMENT '发货单ID',
`sub_order_id` BIGINT(20) NOT NULL COMMENT '子订单ID',
`garage_id` BIGINT(20) NOT NULL COMMENT '汽修厂ID',
`receipt_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '收货时间',
`receipt_status` CHAR(1) NOT NULL DEFAULT '0' COMMENT '收货状态(0:部分收货, 1:全部收货, 2:拒收)',
`remark` VARCHAR(500) DEFAULT NULL COMMENT '备注',
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`receipt_id`),
KEY `idx_delivery_id` (`delivery_id`),
KEY `idx_sub_order_id` (`sub_order_id`),
KEY `idx_garage_id` (`garage_id`)
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8mb4 COMMENT ='订单收货表';
-- 7. 平台运营相关表
-- sys_user (平台用户表)
DROP TABLE IF EXISTS `sys_user`;
CREATE TABLE `sys_user`
(
`user_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`username` VARCHAR(50) NOT NULL UNIQUE COMMENT '用户名',
`password` VARCHAR(255) NOT NULL COMMENT '密码',
`nickname` VARCHAR(50) DEFAULT NULL COMMENT '昵称',
`email` VARCHAR(100) UNIQUE DEFAULT NULL COMMENT '邮箱',
`phone` VARCHAR(20) UNIQUE DEFAULT NULL COMMENT '手机号',
`status` CHAR(1) NOT NULL DEFAULT '0' COMMENT '状态(0:正常, 1:禁用)',
`last_login_time` DATETIME DEFAULT NULL COMMENT '最后登录时间',
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建人ID',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人ID',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`user_id`),
KEY `idx_username` (`username`),
KEY `idx_phone` (`phone`)
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8mb4 COMMENT ='平台用户表';
-- 重新启用外键检查(如果你后续决定使用外键,或用于数据库其他部分的检查)
SET FOREIGN_KEY_CHECKS = 1;
/*
Navicat Premium Data Transfer
Source Server : 192.168.1.18
Source Server Type : MySQL
Source Server Version : 50736
Source Host : 192.168.1.18:3306
Source Schema : fp_scm
Target Server Type : MySQL
Target Server Version : 50736
File Encoding : 65001
Date: 24/06/2025 15:41:08
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for garage
-- ----------------------------
DROP TABLE IF EXISTS `garage`;
CREATE TABLE `garage` (
`garage_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '汽修厂ID',
`garage_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '汽修厂名称',
`contact_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '负责人名称',
`contact_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '负责人手机号码',
`level` int(11) NOT NULL DEFAULT 1 COMMENT '等级',
`province` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '省',
`city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '市',
`district` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '区',
`address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '详细地址',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '状态(0:正常, 1:禁用)',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`garage_id`) USING BTREE,
UNIQUE INDEX `contact_phone`(`contact_phone`) USING BTREE,
INDEX `idx_contact_phone`(`contact_phone`) USING BTREE,
INDEX `fk_garage_create_by_sys_user`(`create_by`) USING BTREE,
INDEX `fk_garage_update_by_sys_user`(`update_by`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '汽修厂信息表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for garage_account
-- ----------------------------
DROP TABLE IF EXISTS `garage_account`;
CREATE TABLE `garage_account` (
`account_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '账户ID',
`garage_id` bigint(20) NOT NULL COMMENT '汽修厂ID',
`balance` decimal(10, 2) NOT NULL DEFAULT 0.00 COMMENT '余额',
`account_status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '账户状态(0:正常, 1:冻结)',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`account_id`) USING BTREE,
UNIQUE INDEX `garage_id`(`garage_id`) USING BTREE,
INDEX `idx_garage_id`(`garage_id`) USING BTREE,
INDEX `fk_garage_account_create_by_sys_user`(`create_by`) USING BTREE,
INDEX `fk_garage_account_update_by_sys_user`(`update_by`) USING BTREE,
CONSTRAINT `fk_garage_account_garage_id` FOREIGN KEY (`garage_id`) REFERENCES `garage` (`garage_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '汽修厂账户表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for garage_account_flow
-- ----------------------------
DROP TABLE IF EXISTS `garage_account_flow`;
CREATE TABLE `garage_account_flow` (
`flow_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '流水ID',
`account_id` bigint(20) NOT NULL COMMENT '账户ID',
`garage_id` bigint(20) NOT NULL COMMENT '汽修厂ID',
`amount` decimal(10, 2) NOT NULL COMMENT '金额',
`balance` decimal(10, 2) NOT NULL COMMENT '余额',
`flow_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '流水类型(0:收入, 1:支出)',
`biz_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '业务类型(0:充值, 1:提现, 2:支付, 3:退款)',
`biz_id` bigint(20) NULL DEFAULT NULL COMMENT '业务ID(订单ID、充值单ID等)',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`flow_id`) USING BTREE,
INDEX `idx_account_id`(`account_id`) USING BTREE,
INDEX `idx_garage_id`(`garage_id`) USING BTREE,
INDEX `fk_garage_flow_create_by_sys_user`(`create_by`) USING BTREE,
INDEX `fk_garage_flow_update_by_sys_user`(`update_by`) USING BTREE,
CONSTRAINT `fk_garage_flow_account_id` FOREIGN KEY (`account_id`) REFERENCES `garage_account` (`account_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `fk_garage_flow_garage_id` FOREIGN KEY (`garage_id`) REFERENCES `garage` (`garage_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '汽修厂账户流水表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for garage_delivery_address
-- ----------------------------
DROP TABLE IF EXISTS `garage_delivery_address`;
CREATE TABLE `garage_delivery_address` (
`address_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '地址ID',
`garage_id` bigint(20) NOT NULL COMMENT '汽修厂ID',
`contact_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货人姓名',
`contact_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货人电话',
`province` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '省',
`city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '市',
`district` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '区',
`address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '详细地址',
`is_default` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '是否默认地址(0:否, 1:是)',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '状态(0:正常, 1:禁用)',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`address_id`) USING BTREE,
INDEX `idx_garage_id`(`garage_id`) USING BTREE,
INDEX `fk_garage_address_create_by_sys_user`(`create_by`) USING BTREE,
INDEX `fk_garage_address_update_by_sys_user`(`update_by`) USING BTREE,
CONSTRAINT `fk_garage_address_garage_id` FOREIGN KEY (`garage_id`) REFERENCES `garage` (`garage_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '汽修厂收货地址表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for garage_user
-- ----------------------------
DROP TABLE IF EXISTS `garage_user`;
CREATE TABLE `garage_user` (
`user_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '汽修厂用户ID',
`garage_id` bigint(20) NOT NULL COMMENT '所属汽修厂ID',
`username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '登录用户名/手机号',
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '密码(加密)',
`real_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户真实姓名',
`phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机号',
`is_admin` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '是否是汽修厂管理员(0:否, 1:是)',
`role` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'admin' COMMENT '角色(admin/employee)',
`wechat_openid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信OpenID',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '状态(0:正常, 1:禁用)',
`last_login_time` datetime NULL DEFAULT NULL COMMENT '最后登录时间',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`user_id`) USING BTREE,
UNIQUE INDEX `uk_username`(`username`) USING BTREE,
INDEX `idx_garage_id`(`garage_id`) USING BTREE,
CONSTRAINT `fk_garage_user_garage_id` FOREIGN KEY (`garage_id`) REFERENCES `garage` (`garage_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '汽修厂用户表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for inquiry_order
-- ----------------------------
DROP TABLE IF EXISTS `inquiry_order`;
CREATE TABLE `inquiry_order` (
`inquiry_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '询价单ID',
`garage_id` bigint(20) NOT NULL COMMENT '汽修厂ID',
`inquiry_sn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '询价单号',
`vin` varchar(17) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '车架号VIN',
`car_brand_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '汽车品牌ID',
`car_brand` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '汽车品牌',
`series_name_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '汽车系列ID',
`series_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '汽车系列',
`car_model_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '汽车型号ID',
`car_model` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '汽车型号',
`total_amount` decimal(10, 2) NOT NULL DEFAULT 0.00 COMMENT '询价总金额(最终选定后的合计)',
`invoice_required` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '是否需要发票(0:否, 1:是)',
`direct_supply` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '是否直供单(0:否, 1:是)',
`supply_region` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '供货区域(0:本市, 1:本省, 2:全国)',
`receive_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货人姓名',
`receive_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货人电话',
`receive_province` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货省',
`receive_city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货市',
`receive_district` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货区',
`receive_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货详细地址',
`order_status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '状态(0:待报价, 1:已报价, 2:已完成, 3:已超时)',
`expire_time` datetime NOT NULL COMMENT '询价超时时间',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`inquiry_id`) USING BTREE,
UNIQUE INDEX `inquiry_sn`(`inquiry_sn`) USING BTREE,
INDEX `idx_garage_id`(`garage_id`) USING BTREE,
INDEX `idx_inquiry_sn`(`inquiry_sn`) USING BTREE,
INDEX `idx_vin`(`vin`) USING BTREE,
INDEX `idx_status`(`order_status`) USING BTREE,
INDEX `fk_inquiry_order_create_by_sys_user`(`create_by`) USING BTREE,
INDEX `fk_inquiry_order_update_by_sys_user`(`update_by`) USING BTREE,
CONSTRAINT `fk_inquiry_order_garage_id` FOREIGN KEY (`garage_id`) REFERENCES `garage` (`garage_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '询价单表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for inquiry_order_item
-- ----------------------------
DROP TABLE IF EXISTS `inquiry_order_item`;
CREATE TABLE `inquiry_order_item` (
`item_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '询价明细ID',
`inquiry_id` bigint(20) NOT NULL COMMENT '询价单ID',
`part_id` bigint(20) NOT NULL COMMENT '配件ID',
`part_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '配件名称(冗余)',
`quantity` int(11) NOT NULL COMMENT '数量',
`quality_requirements` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '品质要求(0:原厂件, 1:品牌件, 2:配套件, 3:拆车件)逗号分隔',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
`selected_quote_id` bigint(20) NULL DEFAULT NULL COMMENT '选中的报价ID',
`final_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '最终成交单价',
`final_total` decimal(10, 2) NULL DEFAULT NULL COMMENT '最终成交总价',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`item_id`) USING BTREE,
INDEX `idx_inquiry_id`(`inquiry_id`) USING BTREE,
INDEX `idx_part_id`(`part_id`) USING BTREE,
INDEX `fk_inquiry_item_create_by_sys_user`(`create_by`) USING BTREE,
INDEX `fk_inquiry_item_update_by_sys_user`(`update_by`) USING BTREE,
INDEX `fk_inquiry_item_selected_quote_id`(`selected_quote_id`) USING BTREE,
CONSTRAINT `fk_inquiry_item_inquiry_id` FOREIGN KEY (`inquiry_id`) REFERENCES `inquiry_order` (`inquiry_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `fk_inquiry_item_selected_quote_id` FOREIGN KEY (`selected_quote_id`) REFERENCES `inquiry_quote` (`quote_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '询价单商品明细表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for inquiry_order_payment
-- ----------------------------
DROP TABLE IF EXISTS `inquiry_order_payment`;
CREATE TABLE `inquiry_order_payment` (
`transaction_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '交易ID',
`inquiry_id` bigint(20) NULL DEFAULT NULL COMMENT '关联的询价单ID',
`order_id` bigint(20) NULL DEFAULT NULL COMMENT '关联的主订单ID',
`garage_id` bigint(20) NOT NULL COMMENT '支付方汽修厂ID',
`transaction_sn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '交易流水号',
`amount` decimal(10, 2) NOT NULL COMMENT '支付金额',
`payment_method` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '支付方式(0:余额, 1:微信支付, 2:支付宝, 9:其他)',
`payment_status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '支付状态(0:待支付, 1:支付成功, 2:支付失败, 3:已退款)',
`payment_time` datetime NULL DEFAULT NULL COMMENT '支付成功时间',
`third_party_trade_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '第三方支付平台交易号',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`transaction_id`) USING BTREE,
UNIQUE INDEX `transaction_sn`(`transaction_sn`) USING BTREE,
INDEX `idx_order_id`(`order_id`) USING BTREE,
INDEX `idx_garage_id`(`garage_id`) USING BTREE,
INDEX `idx_transaction_sn`(`transaction_sn`) USING BTREE,
INDEX `fk_payment_transaction_create_by_garage_user`(`create_by`) USING BTREE,
INDEX `fk_payment_transaction_update_by_garage_user`(`update_by`) USING BTREE,
INDEX `fk_payment_transaction_inquiry_id`(`inquiry_id`) USING BTREE,
CONSTRAINT `fk_payment_transaction_garage_id` FOREIGN KEY (`garage_id`) REFERENCES `garage` (`garage_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `fk_payment_transaction_order_id` FOREIGN KEY (`order_id`) REFERENCES `order_main` (`order_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `fk_payment_transaction_inquiry_id` FOREIGN KEY (`inquiry_id`) REFERENCES `inquiry_order` (`inquiry_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '询价单支付交易表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for inquiry_quote
-- ----------------------------
DROP TABLE IF EXISTS `inquiry_quote`;
CREATE TABLE `inquiry_quote` (
`quote_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '报价ID',
`inquiry_id` bigint(20) NOT NULL COMMENT '询价单ID',
`inquiry_item_id` bigint(20) NOT NULL COMMENT '询价单明细ID',
`quality_requirement` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '品质要求(0:原厂件, 1:品牌件, 2:配套件, 3:拆车件)',
`supplier_id` bigint(20) NOT NULL COMMENT '汽配厂家ID',
`quoted_by_user_id` bigint(20) NOT NULL COMMENT '报价人用户ID (汽配厂家用户)',
`quoted_by_user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '报价人姓名(冗余)',
`quoted_by_user_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '报价人电话(冗余)',
`quoted_price` decimal(10, 2) NOT NULL COMMENT '报价单价',
`quoted_quantity` int(11) NOT NULL COMMENT '报价数量',
`total_price` decimal(10, 2) NOT NULL COMMENT '报价总价',
`delivery_time` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '预计发货时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '报价备注',
`quote_status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '状态(0:已报价, 1:已中标, 2:已取消)',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`quote_id`) USING BTREE,
INDEX `idx_inquiry_id`(`inquiry_id`) USING BTREE,
INDEX `idx_inquiry_item_id`(`inquiry_item_id`) USING BTREE,
INDEX `idx_supplier_id`(`supplier_id`) USING BTREE,
INDEX `idx_quoted_by_user_id`(`quoted_by_user_id`) USING BTREE,
INDEX `fk_inquiry_quote_create_by_sys_user`(`create_by`) USING BTREE,
INDEX `fk_inquiry_quote_update_by_sys_user`(`update_by`) USING BTREE,
CONSTRAINT `fk_inquiry_quote_inquiry_id` FOREIGN KEY (`inquiry_id`) REFERENCES `inquiry_order` (`inquiry_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `fk_inquiry_quote_inquiry_item_id` FOREIGN KEY (`inquiry_item_id`) REFERENCES `inquiry_order_item` (`item_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `fk_inquiry_quote_supplier_id` FOREIGN KEY (`supplier_id`) REFERENCES `supplier` (`supplier_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '询价报价表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for order_delivery
-- ----------------------------
DROP TABLE IF EXISTS `order_delivery`;
CREATE TABLE `order_delivery` (
`delivery_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '发货单ID',
`garage_id` bigint(20) NULL DEFAULT NULL COMMENT '汽修厂ID',
`order_id` bigint(20) NOT NULL COMMENT '主订单ID',
`sub_order_id` bigint(20) NOT NULL COMMENT '子订单ID',
`supplier_id` bigint(20) NOT NULL COMMENT '汽配厂家ID',
`delivery_sn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发货单号',
`logistics_company` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物流公司',
`tracking_number` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '运单号',
`delivery_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '发货时间',
`receiver_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货人姓名',
`receiver_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货人电话',
`receiver_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货地址',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '状态(0:待收货, 1:已收货, 2:退回中, 3:已退回)',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`delivery_id`) USING BTREE,
UNIQUE INDEX `sub_order_id`(`sub_order_id`) USING BTREE,
UNIQUE INDEX `delivery_sn`(`delivery_sn`) USING BTREE,
INDEX `idx_sub_order_id`(`sub_order_id`) USING BTREE,
INDEX `idx_supplier_id`(`supplier_id`) USING BTREE,
INDEX `idx_tracking_number`(`tracking_number`) USING BTREE,
INDEX `fk_order_delivery_create_by_sys_user`(`create_by`) USING BTREE,
INDEX `fk_order_delivery_update_by_sys_user`(`update_by`) USING BTREE,
CONSTRAINT `fk_order_delivery_sub_order_id` FOREIGN KEY (`sub_order_id`) REFERENCES `order_sub` (`sub_order_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `fk_order_delivery_supplier_id` FOREIGN KEY (`supplier_id`) REFERENCES `supplier` (`supplier_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '订单发货表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for order_item
-- ----------------------------
DROP TABLE IF EXISTS `order_item`;
CREATE TABLE `order_item` (
`item_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '订单明细ID',
`main_order_id` bigint(20) NOT NULL COMMENT '主订单ID',
`sub_order_id` bigint(20) NULL DEFAULT NULL COMMENT '子订单ID(如果存在)',
`part_id` bigint(20) NOT NULL COMMENT '配件ID',
`part_oem` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '配件OEM号',
`part_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '配件名称(冗余)',
`quantity` int(11) NOT NULL COMMENT '订单数量',
`unit_price` decimal(10, 2) NOT NULL COMMENT '成交单价',
`total_price` decimal(10, 2) NOT NULL COMMENT '成交总价',
`quality_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '品质类型(0:原厂件, 1:品牌件, 2:配套件, 3:拆车件)',
`supplier_id` bigint(20) NULL DEFAULT NULL COMMENT '供货厂家ID',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '状态(0:正常, 1:禁用)',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`item_id`) USING BTREE,
INDEX `idx_main_order_id`(`main_order_id`) USING BTREE,
INDEX `idx_sub_order_id`(`sub_order_id`) USING BTREE,
INDEX `idx_part_id`(`part_id`) USING BTREE,
INDEX `idx_supplier_id`(`supplier_id`) USING BTREE,
INDEX `fk_order_item_create_by_sys_user`(`create_by`) USING BTREE,
INDEX `fk_order_item_update_by_sys_user`(`update_by`) USING BTREE,
CONSTRAINT `fk_order_item_main_order_id` FOREIGN KEY (`main_order_id`) REFERENCES `order_main` (`order_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `fk_order_item_sub_order_id` FOREIGN KEY (`sub_order_id`) REFERENCES `order_sub` (`sub_order_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `fk_order_item_supplier_id` FOREIGN KEY (`supplier_id`) REFERENCES `supplier` (`supplier_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '订单商品明细表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for order_main
-- ----------------------------
DROP TABLE IF EXISTS `order_main`;
CREATE TABLE `order_main` (
`order_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主订单ID',
`order_sn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '订单号',
`inquiry_id` bigint(20) NOT NULL COMMENT '询价单ID',
`garage_id` bigint(20) NOT NULL COMMENT '汽修厂ID',
`platform_warehouse_id` bigint(20) NOT NULL COMMENT '平台中转仓库ID',
`total_amount` decimal(10, 2) NOT NULL COMMENT '订单总金额',
`pay_amount` decimal(10, 2) NOT NULL COMMENT '实际支付金额',
`payment_method` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付方式(0:余额, 1:微信支付, 2:支付宝)',
`payment_time` datetime NULL DEFAULT NULL COMMENT '支付时间',
`invoice_required` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '是否需要发票',
`direct_supply` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '是否直供单',
`receive_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货人姓名',
`receive_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货人电话',
`receive_province` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货省',
`receive_city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货市',
`receive_district` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货区',
`receive_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收货详细地址',
`order_status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '订单状态(0:待发货 1:已发货 2:已完成)',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`order_id`) USING BTREE,
UNIQUE INDEX `order_sn`(`order_sn`) USING BTREE,
INDEX `idx_order_sn`(`order_sn`) USING BTREE,
INDEX `idx_inquiry_id`(`inquiry_id`) USING BTREE,
INDEX `idx_garage_id`(`garage_id`) USING BTREE,
INDEX `idx_platform_warehouse_id`(`platform_warehouse_id`) USING BTREE,
INDEX `idx_status`(`order_status`) USING BTREE,
INDEX `fk_order_main_create_by_sys_user`(`create_by`) USING BTREE,
INDEX `fk_order_main_update_by_sys_user`(`update_by`) USING BTREE,
CONSTRAINT `fk_order_main_garage_id` FOREIGN KEY (`garage_id`) REFERENCES `garage` (`garage_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `fk_order_main_inquiry_id` FOREIGN KEY (`inquiry_id`) REFERENCES `inquiry_order` (`inquiry_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `fk_order_main_platform_warehouse_id` FOREIGN KEY (`platform_warehouse_id`) REFERENCES `platform_warehouse` (`warehouse_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '主订单表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for order_sub
-- ----------------------------
DROP TABLE IF EXISTS `order_sub`;
CREATE TABLE `order_sub` (
`sub_order_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '子订单ID',
`main_order_id` bigint(20) NOT NULL COMMENT '主订单ID',
`supplier_id` bigint(20) NOT NULL COMMENT '汽配厂家ID',
`sub_order_sn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '子订单号',
`total_amount` decimal(10, 2) NOT NULL COMMENT '子订单总金额',
`pay_amount` decimal(10, 2) NOT NULL COMMENT '实际支付金额',
`direct_supply` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '是否直供单(0:否, 1:是)',
`source_warehouse_id` bigint(20) NOT NULL COMMENT '发货来源汽配厂家仓库ID',
`platform_warehouse_id` bigint(20) NOT NULL COMMENT '目标平台仓库ID',
`sub_order_status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '订单状态(0:待厂家发货, 1:汽配已发货,待平台收货货 2:平台已发货,待汽修收货 3:已完成)',
`supplier_delivery_sn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '汽配厂家发货单号',
`supplier_delivery_sn_oss_id` bigint(20) NULL DEFAULT NULL COMMENT '汽配厂家发货单号文件',
`supplier_delivery_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '汽配厂发货方式 0:物流配送 1:厂家配送',
`supplier_delivery_user_id` bigint(20) NULL DEFAULT NULL COMMENT '汽配厂发货人ID',
`supplier_delivery_time` datetime NULL DEFAULT NULL COMMENT '汽配厂发货时间',
`platform_delivery_sn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '平台发货单号',
`platform_delivery_sn_oss_id` bigint(20) NOT NULL COMMENT '平台发货单号文件',
`garage_delivery_address_id` bigint(20) NULL DEFAULT NULL COMMENT '汽修厂收货地址ID',
`garage_receiver_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '汽修厂收货人姓名',
`garage_receiver_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '汽修厂收货人电话',
`garage_receiver_province` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '汽修厂收货省',
`garage_receiver_city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '汽修厂收货市',
`garage_receiver_district` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '汽修厂收货区',
`garage_receiver_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '汽修厂收货详细地址',
`garage_receive_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '汽修厂收货方式(0:平台代收 1:自收)',
`garage_receive_user_id` bigint(20) NULL DEFAULT NULL COMMENT '汽修厂收货人',
`garage_receive_time` datetime NULL DEFAULT NULL COMMENT '汽修厂收货时间',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`sub_order_id`) USING BTREE,
UNIQUE INDEX `sub_order_sn`(`sub_order_sn`) USING BTREE,
INDEX `idx_main_order_id`(`main_order_id`) USING BTREE,
INDEX `idx_supplier_id`(`supplier_id`) USING BTREE,
INDEX `idx_sub_order_sn`(`sub_order_sn`) USING BTREE,
INDEX `idx_status`(`sub_order_status`) USING BTREE,
INDEX `fk_order_sub_create_by_sys_user`(`create_by`) USING BTREE,
INDEX `fk_order_sub_update_by_sys_user`(`update_by`) USING BTREE,
CONSTRAINT `fk_order_sub_main_order_id` FOREIGN KEY (`main_order_id`) REFERENCES `order_main` (`order_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `fk_order_sub_supplier_id` FOREIGN KEY (`supplier_id`) REFERENCES `supplier` (`supplier_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '子订单表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for platform_fund_flow
-- ----------------------------
DROP TABLE IF EXISTS `platform_fund_flow`;
CREATE TABLE `platform_fund_flow` (
`flow_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '流水ID',
`flow_sn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '流水单号',
`amount` decimal(10, 2) NOT NULL COMMENT '金额',
`flow_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '流水类型(0:收入, 1:支出)',
`biz_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '业务类型(0:汽修厂支付, 1:厂家提现, 2:退款支出, 9:其他)',
`biz_id` bigint(20) NULL DEFAULT NULL COMMENT '业务ID(如 payment_transaction.transaction_id, supplier_withdrawal_apply.apply_id 等)',
`current_balance` decimal(10, 2) NULL DEFAULT NULL COMMENT '发生此流水后的平台当前余额',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`flow_id`) USING BTREE,
UNIQUE INDEX `flow_sn`(`flow_sn`) USING BTREE,
INDEX `idx_flow_sn`(`flow_sn`) USING BTREE,
INDEX `idx_biz_type_biz_id`(`biz_type`, `biz_id`) USING BTREE,
INDEX `fk_platform_fund_flow_create_by_sys_user`(`create_by`) USING BTREE,
INDEX `fk_platform_fund_flow_update_by_sys_user`(`update_by`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '平台资金流水表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for platform_warehouse
-- ----------------------------
DROP TABLE IF EXISTS `platform_warehouse`;
CREATE TABLE `platform_warehouse` (
`warehouse_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '仓库ID',
`warehouse_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '仓库名称',
`province` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '省',
`city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '市',
`district` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '区',
`address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '详细地址',
`admin_user_id` bigint(20) NULL DEFAULT NULL COMMENT '管理员用户ID',
`contact_person` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '管理员名称',
`contact_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '管理员电话',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '数据状态(0:正常, 1:禁用)',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`warehouse_id`) USING BTREE,
UNIQUE INDEX `warehouse_name_unique`(`warehouse_name`) USING BTREE,
INDEX `idx_admin_user_id`(`admin_user_id`) USING BTREE,
INDEX `fk_warehouse_create_by_sys_user`(`create_by`) USING BTREE,
INDEX `fk_warehouse_update_by_sys_user`(`update_by`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '平台仓库表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for shopping_cart
-- ----------------------------
DROP TABLE IF EXISTS `shopping_cart`;
CREATE TABLE `shopping_cart` (
`cart_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '购物车ID',
`garage_id` bigint(20) NOT NULL COMMENT '汽修厂ID (对应购买方)',
`part_id` bigint(20) NOT NULL COMMENT '配件ID',
`quantity` int(11) NOT NULL DEFAULT 1 COMMENT '数量',
`quality_requirement` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '品质要求(0:原厂件, 1:品牌件, 2:配套件, 3:拆车件)',
`added_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '加入购物车时间',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`cart_id`) USING BTREE,
UNIQUE INDEX `uk_garage_part`(`garage_id`, `part_id`, `quality_requirement`) USING BTREE,
INDEX `idx_garage_id`(`garage_id`) USING BTREE,
INDEX `idx_part_id`(`part_id`) USING BTREE,
INDEX `fk_shopping_cart_create_by_sys_user`(`create_by`) USING BTREE,
INDEX `fk_shopping_cart_update_by_sys_user`(`update_by`) USING BTREE,
CONSTRAINT `fk_shopping_cart_garage_id` FOREIGN KEY (`garage_id`) REFERENCES `garage` (`garage_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '购物车表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for supplier
-- ----------------------------
DROP TABLE IF EXISTS `supplier`;
CREATE TABLE `supplier` (
`supplier_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '汽配厂家ID',
`company_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '公司名称',
`shop_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '店铺名称',
`province` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '省',
`city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '市',
`district` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '区',
`address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '详细地址',
`license_oss_id` bigint(20) NULL DEFAULT NULL COMMENT '营业执照照片OSS ID',
`legal_person_id_front_oss_id` bigint(20) NULL DEFAULT NULL COMMENT '法人身份证正面OSS ID',
`legal_person_id_back_oss_id` bigint(20) NULL DEFAULT NULL COMMENT '法人身份证反面OSS ID',
`office_photo_1_oss_id` bigint(20) NULL DEFAULT NULL COMMENT '办公场所照片1 OSS ID',
`office_photo_2_oss_id` bigint(20) NULL DEFAULT NULL COMMENT '办公场所照片2 OSS ID',
`office_photo_3_oss_id` bigint(20) NULL DEFAULT NULL COMMENT '办公场所照片3 OSS ID',
`main_car_brands` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '主营车型品牌(多选,逗号分隔)',
`contact_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '联系人名称',
`contact_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '联系人电话',
`email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '电子邮箱',
`level` int(11) NOT NULL DEFAULT 1 COMMENT '等级',
`review_status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '2' COMMENT '审核状态(0:审核通过, 1:审核驳回, 2:待审核)',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '数据状态(0:正常, 1:禁用)',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`supplier_id`) USING BTREE,
UNIQUE INDEX `contact_phone`(`contact_phone`) USING BTREE,
INDEX `idx_contact_phone`(`contact_phone`) USING BTREE,
INDEX `idx_company_name`(`company_name`) USING BTREE,
INDEX `fk_supplier_license_oss`(`license_oss_id`) USING BTREE,
INDEX `fk_supplier_id_front_oss`(`legal_person_id_front_oss_id`) USING BTREE,
INDEX `fk_supplier_id_back_oss`(`legal_person_id_back_oss_id`) USING BTREE,
INDEX `fk_supplier_office_photo1_oss`(`office_photo_1_oss_id`) USING BTREE,
INDEX `fk_supplier_office_photo2_oss`(`office_photo_2_oss_id`) USING BTREE,
INDEX `fk_supplier_office_photo3_oss`(`office_photo_3_oss_id`) USING BTREE,
INDEX `fk_supplier_create_by_sys_user`(`create_by`) USING BTREE,
INDEX `fk_supplier_update_by_sys_user`(`update_by`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '汽配厂家信息表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for supplier_account
-- ----------------------------
DROP TABLE IF EXISTS `supplier_account`;
CREATE TABLE `supplier_account` (
`account_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '账户ID',
`supplier_id` bigint(20) NOT NULL COMMENT '汽配厂家ID',
`balance` decimal(10, 2) NOT NULL DEFAULT 0.00 COMMENT '余额',
`account_status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '账户状态(0:正常, 1:冻结)',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`account_id`) USING BTREE,
UNIQUE INDEX `supplier_id`(`supplier_id`) USING BTREE,
INDEX `idx_supplier_id`(`supplier_id`) USING BTREE,
INDEX `fk_supplier_account_create_by_sys_user`(`create_by`) USING BTREE,
INDEX `fk_supplier_account_update_by_sys_user`(`update_by`) USING BTREE,
CONSTRAINT `fk_supplier_account_supplier_id` FOREIGN KEY (`supplier_id`) REFERENCES `supplier` (`supplier_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '汽配厂家账户表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for supplier_account_flow
-- ----------------------------
DROP TABLE IF EXISTS `supplier_account_flow`;
CREATE TABLE `supplier_account_flow` (
`flow_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '流水ID',
`account_id` bigint(20) NOT NULL COMMENT '账户ID',
`supplier_id` bigint(20) NOT NULL COMMENT '汽配厂家ID',
`amount` decimal(10, 2) NOT NULL COMMENT '金额',
`balance` decimal(10, 2) NOT NULL COMMENT '余额',
`flow_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '流水类型(0:收入, 1:支出)',
`biz_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '业务类型(0:充值, 1:提现, 2:订单收款, 3:订单退款)',
`biz_id` bigint(20) NULL DEFAULT NULL COMMENT '业务ID(订单ID、充值单ID等)',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`flow_id`) USING BTREE,
INDEX `idx_account_id`(`account_id`) USING BTREE,
INDEX `idx_supplier_id`(`supplier_id`) USING BTREE,
INDEX `fk_supplier_flow_create_by_sys_user`(`create_by`) USING BTREE,
INDEX `fk_supplier_flow_update_by_sys_user`(`update_by`) USING BTREE,
CONSTRAINT `fk_supplier_flow_account_id` FOREIGN KEY (`account_id`) REFERENCES `supplier_account` (`account_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `fk_supplier_flow_supplier_id` FOREIGN KEY (`supplier_id`) REFERENCES `supplier` (`supplier_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '汽配厂家账户流水表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for supplier_bank_account
-- ----------------------------
DROP TABLE IF EXISTS `supplier_bank_account`;
CREATE TABLE `supplier_bank_account` (
`account_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '银行账户ID',
`supplier_id` bigint(20) NOT NULL COMMENT '所属汽配厂家ID',
`bank_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收款银行名称',
`bank_account_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '收款账户类型(0: 对公, 1: 对私)',
`bank_account_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收款账户名称(户名)',
`bank_account_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收款银行卡号/账号',
`is_default` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '是否为默认提现账户(0:否, 1:是)',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '数据状态(0:正常, 1:禁用/删除)',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`account_id`) USING BTREE,
UNIQUE INDEX `bank_account_no`(`bank_account_no`) USING BTREE,
UNIQUE INDEX `bank_account_no_unique`(`bank_account_no`) USING BTREE,
INDEX `idx_supplier_id`(`supplier_id`) USING BTREE,
INDEX `idx_create_by`(`create_by`) USING BTREE,
INDEX `idx_update_by`(`update_by`) USING BTREE,
CONSTRAINT `fk_supplier_bank_account_supplier_id` FOREIGN KEY (`supplier_id`) REFERENCES `supplier` (`supplier_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '汽配厂家银行账户表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for supplier_user
-- ----------------------------
DROP TABLE IF EXISTS `supplier_user`;
CREATE TABLE `supplier_user` (
`user_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`supplier_id` bigint(20) NULL DEFAULT NULL COMMENT '所属厂家ID',
`username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户名',
`password` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '密码',
`nickname` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户昵称',
`phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机号',
`email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '邮箱',
`avatar_oss_id` bigint(20) NULL DEFAULT NULL COMMENT '头像OSS ID',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '数据状态(0正常 1停用)',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`user_id`) USING BTREE,
UNIQUE INDEX `username`(`username`) USING BTREE,
UNIQUE INDEX `username_unique`(`username`) USING BTREE,
UNIQUE INDEX `phone`(`phone`) USING BTREE,
INDEX `fk_supplier_user_supplier_id`(`supplier_id`) USING BTREE,
INDEX `fk_supplier_user_avatar_oss`(`avatar_oss_id`) USING BTREE,
INDEX `fk_supplier_user_create_by_sys_user`(`create_by`) USING BTREE,
INDEX `fk_supplier_user_update_by_sys_user`(`update_by`) USING BTREE,
CONSTRAINT `fk_supplier_user_supplier_id_by_supplier` FOREIGN KEY (`supplier_id`) REFERENCES `supplier` (`supplier_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '汽配厂家用户表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for supplier_warehouse
-- ----------------------------
DROP TABLE IF EXISTS `supplier_warehouse`;
CREATE TABLE `supplier_warehouse` (
`warehouse_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '仓库ID',
`supplier_id` bigint(20) NOT NULL COMMENT '所属汽配厂家ID',
`warehouse_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '仓库名称',
`warehouse_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '仓库类型(0:中心仓, 1:临时仓, 2:门店仓等)',
`province` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '省',
`city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '市',
`district` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '区',
`address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '详细地址',
`admin_user_id` bigint(20) NULL DEFAULT NULL COMMENT '仓库管理员用户ID (关联 supplier_user)',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '状态(0:正常, 1:禁用)',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`warehouse_id`) USING BTREE,
INDEX `idx_supplier_id`(`supplier_id`) USING BTREE,
INDEX `idx_warehouse_name`(`warehouse_name`) USING BTREE,
INDEX `fk_warehouse_admin_user_id`(`admin_user_id`) USING BTREE,
INDEX `fk_supplier_warehouse_create_by_sys_user`(`create_by`) USING BTREE,
INDEX `fk_supplier_warehouse_update_by_sys_user`(`update_by`) USING BTREE,
CONSTRAINT `fk_warehouse_admin_user_id` FOREIGN KEY (`admin_user_id`) REFERENCES `supplier_user` (`user_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `fk_warehouse_supplier_id` FOREIGN KEY (`supplier_id`) REFERENCES `supplier` (`supplier_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '汽配厂家仓库表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for supplier_withdrawal_apply
-- ----------------------------
DROP TABLE IF EXISTS `supplier_withdrawal_apply`;
CREATE TABLE `supplier_withdrawal_apply` (
`apply_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '申请ID',
`supplier_id` bigint(20) NOT NULL COMMENT '申请提现的汽配厂家ID',
`bank_account_id` bigint(20) NOT NULL COMMENT '提现银行账户ID',
`apply_sn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提现申请单号',
`apply_amount` decimal(10, 2) NOT NULL COMMENT '申请提现金额',
`apply_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '申请提交时间',
`apply_status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '申请业务状态(0:待审核, 1:审核通过, 2:审核驳回, 3:已打款, 4:打款失败, 9:已取消)',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '数据状态(0:正常, 1:已归档)',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`apply_id`) USING BTREE,
UNIQUE INDEX `apply_sn`(`apply_sn`) USING BTREE,
INDEX `idx_supplier_id`(`supplier_id`) USING BTREE,
INDEX `idx_bank_account_id`(`bank_account_id`) USING BTREE,
INDEX `fk_withdrawal_apply_create_by_supplier_user`(`create_by`) USING BTREE,
INDEX `fk_withdrawal_apply_update_by_supplier_user`(`update_by`) USING BTREE,
CONSTRAINT `fk_withdrawal_apply_bank_account_id` FOREIGN KEY (`bank_account_id`) REFERENCES `supplier_bank_account` (`account_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `fk_withdrawal_apply_supplier_id` FOREIGN KEY (`supplier_id`) REFERENCES `supplier` (`supplier_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '汽配厂家提现申请表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for supplier_withdrawal_review_log
-- ----------------------------
DROP TABLE IF EXISTS `supplier_withdrawal_review_log`;
CREATE TABLE `supplier_withdrawal_review_log` (
`log_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '日志ID',
`apply_id` bigint(20) NOT NULL COMMENT '提现申请ID',
`reviewer_id` bigint(20) NOT NULL COMMENT '审核人ID',
`review_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '审核时间',
`review_result` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '审核结果(0:通过, 1:驳回)',
`review_reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '审核意见/原因',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`log_id`) USING BTREE,
INDEX `idx_apply_id`(`apply_id`) USING BTREE,
INDEX `idx_reviewer_id`(`reviewer_id`) USING BTREE,
INDEX `fk_review_log_create_by_sys_user`(`create_by`) USING BTREE,
INDEX `fk_review_log_update_by_sys_user`(`update_by`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '汽配厂家提现审核日志表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for withdrawal_review_log
-- ----------------------------
DROP TABLE IF EXISTS `withdrawal_review_log`;
CREATE TABLE `withdrawal_review_log` (
`log_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '日志ID',
`apply_id` bigint(20) NOT NULL COMMENT '关联的提现申请ID',
`reviewer_id` bigint(20) NOT NULL COMMENT '审核人ID',
`review_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '审核时间',
`review_status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '审核结果(0:通过, 1:驳回)',
`review_reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '审核意见/原因',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`log_id`) USING BTREE,
INDEX `idx_apply_id`(`apply_id`) USING BTREE,
INDEX `idx_reviewer_id`(`reviewer_id`) USING BTREE,
INDEX `fk_review_log_create_by_sys_user`(`create_by`) USING BTREE,
INDEX `fk_review_log_update_by_sys_user`(`update_by`) USING BTREE,
CONSTRAINT `fk_review_log_apply_id` FOREIGN KEY (`apply_id`) REFERENCES `supplier_withdrawal_apply` (`apply_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '提现审核日志表' ROW_FORMAT = DYNAMIC;
SET FOREIGN_KEY_CHECKS = 1;
... ...
... ... @@ -47,29 +47,47 @@ CREATE TABLE `garage` (
`garage_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '汽修厂名称',
`contact_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '负责人名称',
`contact_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '负责人手机号码',
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '密码',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '状态(0:正常, 1:禁用)',
`last_login_time` datetime NULL DEFAULT NULL COMMENT '最后登录时间',
`level` int(11) NOT NULL DEFAULT 1 COMMENT '等级',
`wechat_openid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信OpenID',
`province` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '省',
`city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '市',
`district` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '区',
`address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '详细地址',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '状态(0:正常, 1:禁用)',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`garage_id`) USING BTREE,
UNIQUE INDEX `contact_phone`(`contact_phone`) USING BTREE,
UNIQUE INDEX `wechat_openid`(`wechat_openid`) USING BTREE,
INDEX `idx_contact_phone`(`contact_phone`) USING BTREE,
INDEX `fk_garage_create_by_sys_user`(`create_by`) USING BTREE,
INDEX `fk_garage_update_by_sys_user`(`update_by`) USING BTREE,
CONSTRAINT `fk_garage_create_by_sys_user` FOREIGN KEY (`create_by`) REFERENCES `sys_user` (`user_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `fk_garage_update_by_sys_user` FOREIGN KEY (`update_by`) REFERENCES `sys_user` (`user_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
INDEX `fk_garage_update_by_sys_user`(`update_by`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '汽修厂信息表' ROW_FORMAT = Dynamic;
CREATE TABLE `garage_user` (
`user_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '汽修厂用户ID',
`garage_id` BIGINT(20) NOT NULL COMMENT '所属汽修厂ID',
`username` VARCHAR(50) NOT NULL COMMENT '登录用户名/手机号',
`password` VARCHAR(255) NOT NULL COMMENT '密码(加密)',
`real_name` VARCHAR(50) DEFAULT NULL COMMENT '用户真实姓名',
`phone` VARCHAR(20) DEFAULT NULL COMMENT '手机号',
`is_admin` CHAR(1) NOT NULL DEFAULT '0' COMMENT '是否是汽修厂管理员(0:否, 1:是)',
`role` VARCHAR(20) DEFAULT 'admin' COMMENT '角色(admin/employee)',
`wechat_openid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信OpenID',
`status` CHAR(1) NOT NULL DEFAULT '0' COMMENT '状态(0:正常, 1:禁用)',
`last_login_time` DATETIME DEFAULT NULL COMMENT '最后登录时间',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`user_id`),
UNIQUE KEY `uk_username` (`username`),
KEY `idx_garage_id` (`garage_id`),
CONSTRAINT `fk_garage_user_garage_id` FOREIGN KEY (`garage_id`) REFERENCES `garage` (`garage_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='汽修厂用户表';
-- ----------------------------
-- Table structure for garage_account
-- ----------------------------
... ... @@ -818,7 +836,8 @@ CREATE TABLE `supplier` (
`bank_account_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收款账户名称(户名)',
`bank_account_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收款银行卡号/账号',
`level` int(11) NOT NULL DEFAULT 1 COMMENT '等级',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '状态(0:正常, 1:禁用, 2:待审核)',
`review_status` char(1) NOT NULL DEFAULT '2' COMMENT '审核状态(0:审核通过, 1:审核驳回, 2:待审核)', -- **原status更名为review_status**
`status` char(1) NOT NULL DEFAULT '0' COMMENT '数据状态(0:正常, 1:禁用)', -- **新增数据状态字段**
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人ID',
... ... @@ -1033,7 +1052,7 @@ CREATE TABLE `supplier_withdrawal_apply` (
`apply_sn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '提现申请单号',
`apply_amount` decimal(10, 2) NOT NULL COMMENT '申请提现金额',
`apply_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '申请提交时间',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '申请状态(0:待审核, 1:审核通过, 2:审核驳回, 3:已打款, 4:打款失败, 9:已取消)',
`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**
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
... ...