@ -0,0 +1,914 @@
-- MySQL dump 10.13 Distrib 8.0.41, for Win64 (x86_64)
- -
-- Host: 212.64.112.158 Database: gotest
-- ------------------------------------------------------
-- Server version 5.7.44-log
/* !40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */ ;
/* !40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */ ;
/* !40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */ ;
/* !50503 SET NAMES utf8mb4 */ ;
/* !40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */ ;
/* !40103 SET TIME_ZONE='+00:00' */ ;
/* !40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */ ;
/* !40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */ ;
/* !40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */ ;
/* !40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */ ;
- -
-- Current Database: `gotest`
- -
CREATE DATABASE /* !32312 IF NOT EXISTS */ ` gotest ` /* !40100 DEFAULT CHARACTER SET utf8mb4 */ ;
USE ` gotest ` ;
- -
-- Table structure for table `sys_access_log`
- -
DROP TABLE IF EXISTS ` sys_access_log ` ;
/* !40101 SET @saved_cs_client = @@character_set_client */ ;
/* !50503 SET character_set_client = utf8mb4 */ ;
CREATE TABLE ` sys_access_log ` (
` id ` bigint ( 20 ) NOT NULL AUTO_INCREMENT ,
` tenant_id ` int ( 11 ) NOT NULL DEFAULT ' 0 ' ,
` user_id ` int ( 11 ) NOT NULL DEFAULT ' 0 ' ,
` username ` varchar ( 255 ) NOT NULL DEFAULT ' ' ,
` module ` varchar ( 255 ) NOT NULL DEFAULT ' ' ,
` resource_type ` varchar ( 255 ) NOT NULL DEFAULT ' ' ,
` resource_id ` int ( 11 ) DEFAULT NULL ,
` request_url ` varchar ( 255 ) DEFAULT NULL ,
` query_string ` longtext ,
` ip_address ` varchar ( 255 ) DEFAULT NULL ,
` user_agent ` varchar ( 255 ) DEFAULT NULL ,
` request_method ` varchar ( 255 ) DEFAULT NULL ,
` duration ` int ( 11 ) DEFAULT NULL ,
` create_time ` datetime NOT NULL ,
PRIMARY KEY ( ` id ` )
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 ;
/* !40101 SET character_set_client = @saved_cs_client */ ;
- -
-- Table structure for table `sys_dict_item`
- -
DROP TABLE IF EXISTS ` sys_dict_item ` ;
/* !40101 SET @saved_cs_client = @@character_set_client */ ;
/* !50503 SET character_set_client = utf8mb4 */ ;
CREATE TABLE ` sys_dict_item ` (
` id ` bigint ( 20 ) NOT NULL AUTO_INCREMENT COMMENT ' 主键ID ' ,
` dict_type_id ` bigint ( 20 ) NOT NULL COMMENT ' 字典类型ID ' ,
` dict_label ` varchar ( 100 ) NOT NULL COMMENT ' 字典标签(显示值,如 正常) ' ,
` dict_value ` varchar ( 100 ) NOT NULL COMMENT ' 字典值(存储值,如 1) ' ,
` parent_id ` bigint ( 20 ) NOT NULL DEFAULT ' 0 ' COMMENT ' 父级字典项ID( 0表示一级项) ' ,
` status ` tinyint ( 1 ) NOT NULL DEFAULT ' 1 ' COMMENT ' 状态( 0-禁用, 1-启用) ' ,
` sort ` int ( 11 ) NOT NULL DEFAULT ' 0 ' COMMENT ' 排序号 ' ,
` color ` varchar ( 20 ) DEFAULT NULL COMMENT ' 颜色标记(如 #1890ff) ' ,
` icon ` varchar ( 50 ) DEFAULT NULL COMMENT ' 图标(如 el-icon-success) ' ,
` remark ` varchar ( 500 ) DEFAULT NULL COMMENT ' 备注 ' ,
` create_by ` varchar ( 50 ) DEFAULT NULL COMMENT ' 创建人 ' ,
` create_time ` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ' 创建时间 ' ,
` update_by ` varchar ( 50 ) DEFAULT NULL COMMENT ' 更新人 ' ,
` update_time ` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' 更新时间 ' ,
` is_deleted ` tinyint ( 1 ) NOT NULL DEFAULT ' 0 ' COMMENT ' 逻辑删除( 0-未删, 1-已删) ' ,
PRIMARY KEY ( ` id ` ) ,
UNIQUE KEY ` uk_dict_type_value ` ( ` dict_type_id ` , ` dict_value ` , ` is_deleted ` ) ,
KEY ` idx_dict_type_parent_status ` ( ` dict_type_id ` , ` parent_id ` , ` status ` , ` is_deleted ` ) ,
KEY ` idx_parent_id ` ( ` parent_id ` , ` status ` , ` is_deleted ` )
) ENGINE = InnoDB AUTO_INCREMENT = 48 DEFAULT CHARSET = utf8mb4 COMMENT = ' 字典项表 ' ;
/* !40101 SET character_set_client = @saved_cs_client */ ;
- -
-- Table structure for table `sys_dict_type`
- -
DROP TABLE IF EXISTS ` sys_dict_type ` ;
/* !40101 SET @saved_cs_client = @@character_set_client */ ;
/* !50503 SET character_set_client = utf8mb4 */ ;
CREATE TABLE ` sys_dict_type ` (
` id ` bigint ( 20 ) NOT NULL AUTO_INCREMENT COMMENT ' 主键ID ' ,
` tenant_id ` int ( 11 ) NOT NULL DEFAULT ' 0 ' COMMENT ' 租户ID( 0表示平台字典, >0表示租户字典) ' ,
` dict_code ` varchar ( 50 ) NOT NULL COMMENT ' 字典编码(唯一,如 USER_STATUS) ' ,
` dict_name ` varchar ( 100 ) NOT NULL COMMENT ' 字典名称(如 用户状态) ' ,
` parent_id ` bigint ( 20 ) NOT NULL DEFAULT ' 0 ' COMMENT ' 父级字典ID( 0表示一级字典) ' ,
` is_global ` tinyint ( 4 ) DEFAULT ' 0 ' COMMENT ' 是否全局0-否 1-是 ' ,
` status ` tinyint ( 1 ) NOT NULL DEFAULT ' 1 ' COMMENT ' 状态( 0-禁用, 1-启用) ' ,
` sort ` int ( 11 ) NOT NULL DEFAULT ' 0 ' COMMENT ' 排序号 ' ,
` remark ` varchar ( 500 ) DEFAULT NULL COMMENT ' 备注 ' ,
` create_by ` varchar ( 50 ) DEFAULT NULL COMMENT ' 创建人 ' ,
` create_time ` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ' 创建时间 ' ,
` update_by ` varchar ( 50 ) DEFAULT NULL COMMENT ' 更新人 ' ,
` update_time ` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' 更新时间 ' ,
` is_deleted ` tinyint ( 1 ) NOT NULL DEFAULT ' 0 ' COMMENT ' 逻辑删除( 0-未删, 1-已删) ' ,
PRIMARY KEY ( ` id ` ) ,
UNIQUE KEY ` uk_dict_code_tenant ` ( ` dict_code ` , ` is_deleted ` ) ,
KEY ` idx_parent_id ` ( ` parent_id ` , ` is_deleted ` ) ,
KEY ` idx_status ` ( ` status ` , ` is_deleted ` ) ,
KEY ` idx_tenant_id ` ( ` tenant_id ` , ` is_deleted ` )
) ENGINE = InnoDB AUTO_INCREMENT = 14 DEFAULT CHARSET = utf8mb4 COMMENT = ' 字典类型表 ' ;
/* !40101 SET character_set_client = @saved_cs_client */ ;
- -
-- Table structure for table `sys_feedback`
- -
DROP TABLE IF EXISTS ` sys_feedback ` ;
/* !40101 SET @saved_cs_client = @@character_set_client */ ;
/* !50503 SET character_set_client = utf8mb4 */ ;
CREATE TABLE ` sys_feedback ` (
` id ` varchar ( 36 ) NOT NULL COMMENT ' ID ' ,
` tenant_id ` varchar ( 64 ) NOT NULL COMMENT ' 租户ID ' ,
` feedback_name ` varchar ( 50 ) DEFAULT ' ' COMMENT ' 反馈人姓名 ' ,
` module ` varchar ( 30 ) NOT NULL COMMENT ' 反馈对应模块 ' ,
` feedback_type ` varchar ( 20 ) NOT NULL COMMENT ' 反馈类型 ' ,
` content ` text NOT NULL COMMENT ' 反馈详细内容 ' ,
` attachment_url ` varchar ( 255 ) DEFAULT ' ' COMMENT ' 附件URL ' ,
` handle_status ` varchar ( 20 ) NOT NULL DEFAULT ' 0 ' COMMENT ' 处理状态( 0-待处理/1-处理中/2-已解决/3-已驳回/4-无需处理) ' ,
` handle_remark ` text COMMENT ' 处理备注( 移除默认值, TEXT类型不支持) ' ,
` create_time ` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ' 创建时间 ' ,
` update_time ` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' 更新时间 ' ,
` delete_time ` datetime DEFAULT NULL COMMENT ' 删除时间 ' ,
PRIMARY KEY ( ` id ` ) ,
KEY ` idx_tenant_id ` ( ` tenant_id ` ) COMMENT ' 租户ID索引, 优化租户级查询 ' ,
KEY ` idx_module ` ( ` module ` ) COMMENT ' 模块索引,优化模块级反馈统计 ' ,
KEY ` idx_handle_status ` ( ` handle_status ` ) COMMENT ' 处理状态索引,优化待处理反馈查询 ' ,
KEY ` idx_create_time ` ( ` create_time ` ) COMMENT ' 创建时间索引,优化时间范围查询 '
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = ' 通用反馈表(支持租户隔离、软删除) ' ;
/* !40101 SET character_set_client = @saved_cs_client */ ;
- -
-- Table structure for table `sys_operation_log`
- -
DROP TABLE IF EXISTS ` sys_operation_log ` ;
/* !40101 SET @saved_cs_client = @@character_set_client */ ;
/* !50503 SET character_set_client = utf8mb4 */ ;
CREATE TABLE ` sys_operation_log ` (
` id ` bigint ( 20 ) NOT NULL AUTO_INCREMENT COMMENT ' 日志ID ' ,
` tenant_id ` int ( 11 ) NOT NULL DEFAULT ' 0 ' COMMENT ' 租户ID( 0表示平台操作, >0表示租户操作) ' ,
` user_id ` int ( 11 ) NOT NULL COMMENT ' 操作用户ID ' ,
` username ` varchar ( 50 ) NOT NULL COMMENT ' 操作用户名 ' ,
` module ` varchar ( 100 ) NOT NULL COMMENT ' 操作模块( user/tenant/dict/role等) ' ,
` resource_type ` varchar ( 50 ) NOT NULL COMMENT ' 资源类型( 如User/Tenant/Dict等) ' ,
` resource_id ` int ( 11 ) DEFAULT NULL COMMENT ' 资源ID( 如被操作的用户ID、租户ID等) ' ,
` operation ` varchar ( 20 ) NOT NULL COMMENT ' 操作类型( CREATE/UPDATE/DELETE/LOGIN/LOGOUT/VIEW等) ' ,
` description ` varchar ( 500 ) DEFAULT NULL COMMENT ' 操作描述 ' ,
` old_value ` longtext COMMENT ' 修改前的值( JSON格式, 用于UPDATE操作) ' ,
` new_value ` longtext COMMENT ' 修改后的值( JSON格式, 用于UPDATE操作) ' ,
` ip_address ` varchar ( 50 ) DEFAULT NULL COMMENT ' IP地址 ' ,
` user_agent ` varchar ( 500 ) DEFAULT NULL COMMENT ' 用户代理信息 ' ,
` request_method ` varchar ( 10 ) DEFAULT NULL COMMENT ' 请求方法( GET/POST/PUT/DELETE等) ' ,
` request_url ` varchar ( 500 ) DEFAULT NULL COMMENT ' 请求URL ' ,
` status ` tinyint ( 1 ) NOT NULL DEFAULT ' 1 ' COMMENT ' 1-成功, 0-失败 ' ,
` error_message ` text COMMENT ' 错误信息 ' ,
` duration ` int ( 11 ) DEFAULT NULL COMMENT ' 执行时长(毫秒) ' ,
` create_time ` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ' 操作时间 ' ,
PRIMARY KEY ( ` id ` ) ,
KEY ` idx_tenant_id ` ( ` tenant_id ` ) ,
KEY ` idx_user_id ` ( ` user_id ` ) ,
KEY ` idx_module ` ( ` module ` ) ,
KEY ` idx_resource_type ` ( ` resource_type ` ) ,
KEY ` idx_resource_id ` ( ` resource_id ` ) ,
KEY ` idx_operation ` ( ` operation ` ) ,
KEY ` idx_create_time ` ( ` create_time ` ) ,
KEY ` idx_tenant_user_time ` ( ` tenant_id ` , ` user_id ` , ` create_time ` ) ,
KEY ` idx_tenant_module_time ` ( ` tenant_id ` , ` module ` , ` create_time ` )
) ENGINE = InnoDB AUTO_INCREMENT = 86 DEFAULT CHARSET = utf8mb4 COMMENT = ' 系统操作日志表 ' ;
/* !40101 SET character_set_client = @saved_cs_client */ ;
- -
-- Table structure for table `yz_exam`
- -
DROP TABLE IF EXISTS ` yz_exam ` ;
/* !40101 SET @saved_cs_client = @@character_set_client */ ;
/* !50503 SET character_set_client = utf8mb4 */ ;
CREATE TABLE ` yz_exam ` (
` id ` int ( 11 ) NOT NULL AUTO_INCREMENT COMMENT ' 考试唯一标识 ' ,
` tenant_id ` int ( 11 ) NOT NULL COMMENT ' 租户ID( 多租户隔离) ' ,
` category_id ` int ( 11 ) NOT NULL COMMENT ' 关联考试分类表ID ' ,
` exam_name ` varchar ( 100 ) NOT NULL COMMENT ' 考试名称 ' ,
` exam_desc ` varchar ( 500 ) DEFAULT ' ' COMMENT ' 考试描述 ' ,
` exam_time ` datetime NOT NULL COMMENT ' 考试开始时间 ' ,
` exam_duration ` int ( 11 ) NOT NULL COMMENT ' 考试时长(分钟) ' ,
` status ` tinyint ( 1 ) NOT NULL DEFAULT ' 0 ' COMMENT ' 考试状态( 0-未开始, 1-进行中, 2-已结束, 3-已取消) ' ,
` create_by ` int ( 11 ) NOT NULL COMMENT ' 创建人ID ' ,
` create_time ` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ' 创建时间 ' ,
` update_time ` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' 更新时间 ' ,
PRIMARY KEY ( ` id ` ) ,
KEY ` idx_tenant_category_status ` ( ` tenant_id ` , ` category_id ` , ` status ` ) ,
KEY ` idx_tenant_create_by ` ( ` tenant_id ` , ` create_by ` ) ,
KEY ` fk_yz_exam_category ` ( ` category_id ` ) ,
CONSTRAINT ` fk_yz_exam_category ` FOREIGN KEY ( ` category_id ` ) REFERENCES ` yz_exam_category ` ( ` id ` ) ON DELETE CASCADE ,
CONSTRAINT ` fk_yz_exam_tenant ` FOREIGN KEY ( ` tenant_id ` ) REFERENCES ` yz_tenants ` ( ` id ` ) ON DELETE CASCADE
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = ' 考试主表(关联分类+租户隔离) ' ;
/* !40101 SET character_set_client = @saved_cs_client */ ;
- -
-- Table structure for table `yz_exam_category`
- -
DROP TABLE IF EXISTS ` yz_exam_category ` ;
/* !40101 SET @saved_cs_client = @@character_set_client */ ;
/* !50503 SET character_set_client = utf8mb4 */ ;
CREATE TABLE ` yz_exam_category ` (
` id ` int ( 11 ) NOT NULL AUTO_INCREMENT COMMENT ' 分类唯一标识 ' ,
` tenant_id ` int ( 11 ) NOT NULL COMMENT ' 租户ID( 多租户隔离) ' ,
` category_name ` varchar ( 50 ) NOT NULL COMMENT ' 分类名称 ' ,
` parent_id ` int ( 11 ) DEFAULT ' 0 ' COMMENT ' 父分类ID, 0表示一级分类 ' ,
` sort_order ` tinyint ( 4 ) DEFAULT ' 0 ' COMMENT ' 排序序号 ' ,
` status ` tinyint ( 1 ) NOT NULL DEFAULT ' 1 ' COMMENT ' 状态( 1-启用, 0-禁用) ' ,
` create_time ` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ' 创建时间 ' ,
` update_time ` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' 更新时间 ' ,
PRIMARY KEY ( ` id ` ) ,
KEY ` idx_tenant_parent ` ( ` tenant_id ` , ` parent_id ` ) ,
KEY ` idx_tenant_status ` ( ` tenant_id ` , ` status ` ) ,
KEY ` idx_tenant_id ` ( ` tenant_id ` )
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = ' 考试分类表(含多租户隔离) ' ;
/* !40101 SET character_set_client = @saved_cs_client */ ;
- -
-- Table structure for table `yz_exam_users`
- -
DROP TABLE IF EXISTS ` yz_exam_users ` ;
/* !40101 SET @saved_cs_client = @@character_set_client */ ;
/* !50503 SET character_set_client = utf8mb4 */ ;
CREATE TABLE ` yz_exam_users ` (
` id ` int ( 11 ) NOT NULL AUTO_INCREMENT COMMENT ' 用户唯一标识 ' ,
` tenant_id ` int ( 11 ) NOT NULL COMMENT ' 租户ID( 多租户隔离) ' ,
` username ` varchar ( 50 ) NOT NULL COMMENT ' 用户名 ' ,
` real_name ` varchar ( 50 ) DEFAULT ' ' COMMENT ' 真实姓名 ' ,
` mobile ` varchar ( 20 ) DEFAULT ' ' COMMENT ' 手机号 ' ,
` email ` varchar ( 100 ) DEFAULT ' ' COMMENT ' 邮箱 ' ,
` user_type ` tinyint ( 1 ) NOT NULL DEFAULT ' 1 ' COMMENT ' 用户类型( 1-学生, 2-教师, 3-管理员) ' ,
` status ` tinyint ( 1 ) NOT NULL DEFAULT ' 1 ' COMMENT ' 账号状态( 1-正常, 0-禁用, 2-冻结) ' ,
` password ` varchar ( 100 ) NOT NULL COMMENT ' 加密后密码( salt+明文密码哈希) ' ,
` salt ` varchar ( 50 ) NOT NULL COMMENT ' 密码盐值 ' ,
` last_login_time ` datetime DEFAULT NULL COMMENT ' 最后登录时间 ' ,
` create_time ` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ' 创建时间 ' ,
` update_time ` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' 更新时间 ' ,
PRIMARY KEY ( ` id ` ) ,
UNIQUE KEY ` uk_tenant_username ` ( ` tenant_id ` , ` username ` ) ,
UNIQUE KEY ` uk_salt ` ( ` salt ` ) USING BTREE ,
UNIQUE KEY ` uk_tenant_mobile ` ( ` tenant_id ` , ` mobile ` ) USING BTREE ,
KEY ` idx_tenant_username ` ( ` tenant_id ` , ` username ` ) ,
KEY ` idx_tenant_type_status ` ( ` tenant_id ` , ` user_type ` , ` status ` )
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = ' 考试用户表 ' ;
/* !40101 SET character_set_client = @saved_cs_client */ ;
- -
-- Table structure for table `yz_files`
- -
DROP TABLE IF EXISTS ` yz_files ` ;
/* !40101 SET @saved_cs_client = @@character_set_client */ ;
/* !50503 SET character_set_client = utf8mb4 */ ;
CREATE TABLE ` yz_files ` (
` id ` bigint ( 20 ) NOT NULL AUTO_INCREMENT COMMENT ' 文件ID ' ,
` tenant_id ` varchar ( 64 ) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT ' 租户ID ' ,
` user_id ` int ( 11 ) NOT NULL DEFAULT ' 0 ' COMMENT ' 用户ID ' ,
` file_name ` varchar ( 255 ) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT ' 文件名称 ' ,
` original_name ` varchar ( 255 ) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT ' 原始文件名 ' ,
` file_path ` varchar ( 500 ) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT ' 文件存储路径 ' ,
` file_url ` varchar ( 500 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 文件访问URL ' ,
` file_size ` bigint ( 20 ) NOT NULL DEFAULT ' 0 ' COMMENT ' 文件大小(字节) ' ,
` file_type ` varchar ( 50 ) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT ' 文件类型 ' ,
` file_ext ` varchar ( 20 ) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT ' 文件扩展名 ' ,
` md5 ` varchar ( 32 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 文件MD5值, 用于去重 ' ,
` category ` varchar ( 100 ) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT ' 文件分类 ' ,
` sub_category ` varchar ( 100 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 子分类 ' ,
` status ` tinyint ( 4 ) DEFAULT ' 1 ' COMMENT ' 状态(1:正常, 0:删除) ' ,
` is_public ` tinyint ( 4 ) DEFAULT ' 0 ' COMMENT ' 是否公开(1:是, 0:否) ' ,
` upload_by ` varchar ( 100 ) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT ' 上传人 ' ,
` upload_time ` datetime DEFAULT CURRENT_TIMESTAMP COMMENT ' 上传时间 ' ,
` delete_time ` datetime DEFAULT NULL COMMENT ' 删除时间 ' ,
PRIMARY KEY ( ` id ` ) ,
KEY ` idx_tenant ` ( ` tenant_id ` ) ,
KEY ` idx_user ` ( ` user_id ` ) ,
KEY ` idx_category ` ( ` category ` ) ,
KEY ` idx_upload_time ` ( ` upload_time ` ) ,
KEY ` idx_status ` ( ` status ` ) ,
KEY ` idx_md5 ` ( ` md5 ` ) ,
KEY ` idx_original_name ` ( ` original_name ` )
) ENGINE = InnoDB AUTO_INCREMENT = 72 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = ' 文件表 ' ;
/* !40101 SET character_set_client = @saved_cs_client */ ;
- -
-- Table structure for table `yz_knowledge`
- -
DROP TABLE IF EXISTS ` yz_knowledge ` ;
/* !40101 SET @saved_cs_client = @@character_set_client */ ;
/* !50503 SET character_set_client = utf8mb4 */ ;
CREATE TABLE ` yz_knowledge ` (
` knowledge_id ` int ( 11 ) NOT NULL AUTO_INCREMENT COMMENT ' 知识ID ' ,
` tenant_id ` int ( 11 ) DEFAULT NULL COMMENT ' 租户ID ' ,
` title ` varchar ( 200 ) NOT NULL COMMENT ' 标题 ' ,
` category_id ` int ( 11 ) DEFAULT NULL COMMENT ' 分类ID ' ,
` tags ` text COMMENT ' 标签JSON数组, 存储标签名称 ' ,
` author ` varchar ( 50 ) NOT NULL COMMENT ' 作者 ' ,
` content ` longtext COMMENT ' 正文内容(富文本) ' ,
` summary ` varchar ( 500 ) DEFAULT NULL COMMENT ' 摘要 ' ,
` cover_url ` varchar ( 500 ) DEFAULT NULL COMMENT ' 封面图片URL ' ,
` status ` tinyint ( 4 ) DEFAULT ' 0 ' COMMENT ' 状态: 0-草稿, 1-已发布, 2-已归档 ' ,
` share ` int ( 10 ) DEFAULT ' 0 ' COMMENT ' 是否共享 0-不共享 1-共享 ' ,
` view_count ` int ( 11 ) DEFAULT ' 0 ' COMMENT ' 查看次数 ' ,
` like_count ` int ( 11 ) DEFAULT ' 0 ' COMMENT ' 点赞数 ' ,
` is_recommend ` tinyint ( 4 ) DEFAULT ' 0 ' COMMENT ' 是否推荐: 0-否, 1-是 ' ,
` is_top ` tinyint ( 4 ) DEFAULT ' 0 ' COMMENT ' 是否置顶: 0-否, 1-是 ' ,
` create_time ` datetime DEFAULT CURRENT_TIMESTAMP COMMENT ' 创建时间 ' ,
` update_time ` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' 更新时间 ' ,
` delete_time ` datetime DEFAULT NULL COMMENT ' 删除时间 ' ,
` create_by ` varchar ( 50 ) DEFAULT NULL COMMENT ' 创建人 ' ,
` update_by ` varchar ( 50 ) DEFAULT NULL COMMENT ' 更新人 ' ,
` delete_by ` varchar ( 255 ) DEFAULT NULL COMMENT ' 删除人 ' ,
PRIMARY KEY ( ` knowledge_id ` ) ,
KEY ` idx_category_id ` ( ` category_id ` ) ,
KEY ` idx_author ` ( ` author ` ) ,
KEY ` idx_status ` ( ` status ` ) ,
KEY ` idx_create_time ` ( ` create_time ` ) ,
KEY ` idx_view_count ` ( ` view_count ` ) ,
KEY ` idx_is_recommend ` ( ` is_recommend ` ) ,
KEY ` idx_is_top ` ( ` is_top ` )
) ENGINE = InnoDB AUTO_INCREMENT = 16 DEFAULT CHARSET = utf8mb4 COMMENT = ' 知识库内容表 ' ;
/* !40101 SET character_set_client = @saved_cs_client */ ;
- -
-- Table structure for table `yz_knowledge_category`
- -
DROP TABLE IF EXISTS ` yz_knowledge_category ` ;
/* !40101 SET @saved_cs_client = @@character_set_client */ ;
/* !50503 SET character_set_client = utf8mb4 */ ;
CREATE TABLE ` yz_knowledge_category ` (
` category_id ` int ( 11 ) NOT NULL AUTO_INCREMENT COMMENT ' 分类ID ' ,
` tenant_id ` int ( 11 ) DEFAULT NULL COMMENT ' 租户ID ' ,
` category_name ` varchar ( 100 ) NOT NULL COMMENT ' 分类名称 ' ,
` category_desc ` varchar ( 500 ) DEFAULT NULL COMMENT ' 分类描述 ' ,
` parent_id ` int ( 11 ) DEFAULT ' 0 ' COMMENT ' 父分类ID, 0表示顶级分类 ' ,
` sort_order ` int ( 11 ) DEFAULT ' 0 ' COMMENT ' 排序序号 ' ,
` create_time ` datetime DEFAULT CURRENT_TIMESTAMP COMMENT ' 创建时间 ' ,
` update_time ` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' 更新时间 ' ,
PRIMARY KEY ( ` category_id ` ) ,
KEY ` idx_parent_id ` ( ` parent_id ` ) ,
KEY ` idx_sort_order ` ( ` sort_order ` )
) ENGINE = InnoDB AUTO_INCREMENT = 13 DEFAULT CHARSET = utf8mb4 COMMENT = ' 知识库分类表 ' ;
/* !40101 SET character_set_client = @saved_cs_client */ ;
- -
-- Table structure for table `yz_knowledge_favorites`
- -
DROP TABLE IF EXISTS ` yz_knowledge_favorites ` ;
/* !40101 SET @saved_cs_client = @@character_set_client */ ;
/* !50503 SET character_set_client = utf8mb4 */ ;
CREATE TABLE ` yz_knowledge_favorites ` (
` favorite_id ` int ( 11 ) NOT NULL AUTO_INCREMENT COMMENT ' 收藏ID ' ,
` knowledge_id ` int ( 11 ) NOT NULL COMMENT ' 知识ID ' ,
` user_id ` int ( 11 ) NOT NULL COMMENT ' 用户ID ' ,
` tenant_id ` int ( 11 ) DEFAULT NULL COMMENT ' 租户ID ' ,
` create_time ` datetime DEFAULT CURRENT_TIMESTAMP COMMENT ' 创建时间 ' ,
PRIMARY KEY ( ` favorite_id ` ) ,
UNIQUE KEY ` uk_knowledge_user ` ( ` knowledge_id ` , ` user_id ` ) ,
KEY ` idx_user_id ` ( ` user_id ` ) ,
CONSTRAINT ` yz_fk_fav_knowledge ` FOREIGN KEY ( ` knowledge_id ` ) REFERENCES ` yz_knowledge ` ( ` knowledge_id ` ) ON DELETE CASCADE ,
CONSTRAINT ` yz_fk_fav_user ` FOREIGN KEY ( ` user_id ` ) REFERENCES ` yz_users ` ( ` id ` ) ON DELETE CASCADE
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = ' 知识库收藏表 ' ;
/* !40101 SET character_set_client = @saved_cs_client */ ;
- -
-- Table structure for table `yz_knowledge_tags`
- -
DROP TABLE IF EXISTS ` yz_knowledge_tags ` ;
/* !40101 SET @saved_cs_client = @@character_set_client */ ;
/* !50503 SET character_set_client = utf8mb4 */ ;
CREATE TABLE ` yz_knowledge_tags ` (
` tag_id ` int ( 11 ) NOT NULL AUTO_INCREMENT COMMENT ' 标签ID ' ,
` tenant_id ` int ( 11 ) DEFAULT NULL COMMENT ' 租户ID ' ,
` tag_name ` varchar ( 50 ) NOT NULL COMMENT ' 标签名称 ' ,
` tag_background ` varchar ( 20 ) DEFAULT NULL COMMENT ' 标签背景 ' ,
` tag_color ` varchar ( 20 ) DEFAULT NULL COMMENT ' 标签颜色 ' ,
` usage_count ` int ( 11 ) DEFAULT ' 0 ' COMMENT ' 使用次数 ' ,
` create_time ` datetime DEFAULT CURRENT_TIMESTAMP COMMENT ' 创建时间 ' ,
` update_time ` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' 更新时间 ' ,
PRIMARY KEY ( ` tag_id ` ) ,
UNIQUE KEY ` uk_tag_name ` ( ` tag_name ` ) ,
KEY ` idx_usage_count ` ( ` usage_count ` )
) ENGINE = InnoDB AUTO_INCREMENT = 12 DEFAULT CHARSET = utf8mb4 COMMENT = ' 知识库标签表 ' ;
/* !40101 SET character_set_client = @saved_cs_client */ ;
- -
-- Table structure for table `yz_menus`
- -
DROP TABLE IF EXISTS ` yz_menus ` ;
/* !40101 SET @saved_cs_client = @@character_set_client */ ;
/* !50503 SET character_set_client = utf8mb4 */ ;
CREATE TABLE ` yz_menus ` (
` id ` int ( 11 ) NOT NULL AUTO_INCREMENT COMMENT ' 菜单ID ' ,
` name ` varchar ( 100 ) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT ' 菜单名称 ' ,
` path ` varchar ( 255 ) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT ' 菜单路径 ' ,
` parent_id ` int ( 11 ) DEFAULT ' 0 ' COMMENT ' 父菜单ID, 0表示顶级菜单 ' ,
` icon ` varchar ( 100 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 菜单图标 ' ,
` order ` int ( 11 ) DEFAULT ' 0 ' COMMENT ' 排序序号 ' ,
` status ` tinyint ( 4 ) DEFAULT ' 1 ' COMMENT ' 状态: 0-禁用, 1-启用 ' ,
` is_show ` int ( 11 ) DEFAULT NULL COMMENT ' 是否显示 0-不显示 1-显示 ' ,
` component_path ` varchar ( 500 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 组件路径 ' ,
` is_external ` tinyint ( 4 ) DEFAULT ' 0 ' COMMENT ' 是否外部链接: 0-内部路由, 1-外部链接 ' ,
` external_url ` varchar ( 1000 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 外部链接地址 ' ,
` menu_type ` tinyint ( 4 ) DEFAULT ' 1 ' COMMENT ' 菜单类型: 1-页面菜单, 2-目录菜单, 3-权限按钮 ' ,
` permission ` varchar ( 200 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 权限标识 ' ,
` description ` varchar ( 500 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 菜单描述 ' ,
` create_time ` datetime DEFAULT CURRENT_TIMESTAMP COMMENT ' 创建时间 ' ,
` update_time ` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' 更新时间 ' ,
` delete_time ` datetime DEFAULT NULL COMMENT ' 删除时间(软删除) ' ,
` create_by ` varchar ( 100 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 创建人 ' ,
` update_by ` varchar ( 100 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 更新人 ' ,
PRIMARY KEY ( ` id ` ) ,
KEY ` idx_parent_id ` ( ` parent_id ` ) ,
KEY ` idx_status ` ( ` status ` ) ,
KEY ` idx_order ` ( ` order ` ) ,
KEY ` idx_menu_type ` ( ` menu_type ` ) ,
KEY ` idx_delete_time ` ( ` delete_time ` )
) ENGINE = InnoDB AUTO_INCREMENT = 136 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = ' 菜单表(增强版) ' ;
/* !40101 SET character_set_client = @saved_cs_client */ ;
- -
-- Table structure for table `yz_program_category`
- -
DROP TABLE IF EXISTS ` yz_program_category ` ;
/* !40101 SET @saved_cs_client = @@character_set_client */ ;
/* !50503 SET character_set_client = utf8mb4 */ ;
CREATE TABLE ` yz_program_category ` (
` category_id ` int ( 11 ) NOT NULL AUTO_INCREMENT COMMENT ' 分类ID ' ,
` category_name ` varchar ( 100 ) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT ' 分类名称 ' ,
` category_desc ` varchar ( 500 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 分类描述 ' ,
` parent_id ` int ( 11 ) DEFAULT ' 0 ' COMMENT ' 父分类ID, 0表示顶级分类 ' ,
` sort_order ` int ( 11 ) DEFAULT ' 0 ' COMMENT ' 排序序号,用于展示顺序 ' ,
` create_time ` datetime DEFAULT CURRENT_TIMESTAMP COMMENT ' 创建时间 ' ,
` update_time ` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' 更新时间 ' ,
PRIMARY KEY ( ` category_id ` ) ,
KEY ` idx_parent_id ` ( ` parent_id ` )
) ENGINE = InnoDB AUTO_INCREMENT = 4 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = ' 程序分类表 ' ;
/* !40101 SET character_set_client = @saved_cs_client */ ;
- -
-- Table structure for table `yz_program_info`
- -
DROP TABLE IF EXISTS ` yz_program_info ` ;
/* !40101 SET @saved_cs_client = @@character_set_client */ ;
/* !50503 SET character_set_client = utf8mb4 */ ;
CREATE TABLE ` yz_program_info ` (
` program_id ` int ( 11 ) NOT NULL AUTO_INCREMENT COMMENT ' 程序ID ' ,
` category_id ` int ( 11 ) NOT NULL COMMENT ' 所属分类ID ' ,
` program_name ` varchar ( 200 ) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT ' 程序名称 ' ,
` program_desc ` text COLLATE utf8mb4_unicode_ci COMMENT ' 程序描述 ' ,
` jump_url ` varchar ( 1000 ) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT ' 跳转地址 ' ,
` icon_url ` varchar ( 1000 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 程序图标地址 ' ,
` version ` varchar ( 50 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 程序版本 ' ,
` status ` tinyint ( 4 ) DEFAULT ' 1 ' COMMENT ' 状态: 0-禁用, 1-启用 ' ,
` sort_order ` int ( 11 ) DEFAULT ' 0 ' COMMENT ' 排序序号,用于展示顺序 ' ,
` create_time ` datetime DEFAULT CURRENT_TIMESTAMP COMMENT ' 创建时间 ' ,
` update_time ` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' 更新时间 ' ,
PRIMARY KEY ( ` program_id ` ) ,
KEY ` idx_category_id ` ( ` category_id ` ) ,
KEY ` idx_status ` ( ` status ` ) ,
CONSTRAINT ` yz_fk_program_category ` FOREIGN KEY ( ` category_id ` ) REFERENCES ` yz_program_category ` ( ` category_id ` ) ON DELETE CASCADE
) ENGINE = InnoDB AUTO_INCREMENT = 4 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = ' 程序信息表 ' ;
/* !40101 SET character_set_client = @saved_cs_client */ ;
- -
-- Table structure for table `yz_roles`
- -
DROP TABLE IF EXISTS ` yz_roles ` ;
/* !40101 SET @saved_cs_client = @@character_set_client */ ;
/* !50503 SET character_set_client = utf8mb4 */ ;
CREATE TABLE ` yz_roles ` (
` role_id ` int ( 11 ) NOT NULL AUTO_INCREMENT COMMENT ' 角色ID ' ,
` tenant_id ` int ( 11 ) NOT NULL COMMENT ' 租户ID 0-全局角色 其他-各租户自设角色 ' ,
` role_code ` varchar ( 50 ) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT ' 角色代码 ' ,
` role_name ` varchar ( 50 ) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT ' 角色名称 ' ,
` description ` varchar ( 500 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 角色描述 ' ,
` menu_ids ` json DEFAULT NULL COMMENT ' 菜单权限ID数组, JSON格式存储 ' ,
` status ` tinyint ( 4 ) DEFAULT ' 1 ' COMMENT ' 角色状态: 0-禁用, 1-启用 ' ,
` sort_order ` int ( 11 ) DEFAULT ' 0 ' COMMENT ' 排序序号 ' ,
` default ` tinyint ( 4 ) NOT NULL DEFAULT ' 0 ' COMMENT ' 角色显示范围: 0-全局展示, 1-平台用户展示(yz_users), 2-租户用户展示(yz_tenant_employees) ' ,
` create_time ` datetime DEFAULT CURRENT_TIMESTAMP COMMENT ' 创建时间 ' ,
` update_time ` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' 更新时间 ' ,
` delete_time ` datetime DEFAULT NULL COMMENT ' 删除时间 ' ,
` create_by ` varchar ( 50 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 创建人 ' ,
` update_by ` varchar ( 50 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 更新人 ' ,
PRIMARY KEY ( ` role_id ` ) ,
UNIQUE KEY ` uk_role_code ` ( ` role_code ` ) ,
KEY ` idx_status ` ( ` status ` ) ,
KEY ` idx_sort_order ` ( ` sort_order ` ) ,
KEY ` idx_create_time ` ( ` create_time ` ) ,
KEY ` idx_tenant_id ` ( ` tenant_id ` ) ,
KEY ` idx_delete_time ` ( ` delete_time ` )
) ENGINE = InnoDB AUTO_INCREMENT = 9 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = ' 角色表 ' ;
/* !40101 SET character_set_client = @saved_cs_client */ ;
- -
-- Table structure for table `yz_tenant_crm_contact`
- -
DROP TABLE IF EXISTS ` yz_tenant_crm_contact ` ;
/* !40101 SET @saved_cs_client = @@character_set_client */ ;
/* !50503 SET character_set_client = utf8mb4 */ ;
CREATE TABLE ` yz_tenant_crm_contact ` (
` id ` bigint ( 20 ) NOT NULL AUTO_INCREMENT COMMENT ' 自增主键ID ' ,
` tenant_id ` bigint ( 20 ) NOT NULL COMMENT ' 租户ID( 关联租户表, 隔离数据) ' ,
` related_type ` tinyint ( 4 ) NOT NULL COMMENT ' 关联类型: 1=客户, 2=供应商(区分联系人归属) ' ,
` related_id ` bigint ( 20 ) NOT NULL COMMENT ' 关联ID( 关联yz_tenant_crm_customer.id或yz_tenant_crm_supplier.id) ' ,
` contact_name ` varchar ( 50 ) NOT NULL COMMENT ' 联系人姓名 ' ,
` gender ` tinyint ( 4 ) DEFAULT ' 0 ' COMMENT ' 性别: 0=未知, 1=男, 2=女 ' ,
` mobile ` varchar ( 20 ) DEFAULT NULL COMMENT ' 手机号(唯一索引,避免重复) ' ,
` phone ` varchar ( 20 ) DEFAULT NULL COMMENT ' 固定电话 ' ,
` email ` varchar ( 100 ) DEFAULT NULL COMMENT ' 邮箱 ' ,
` position ` varchar ( 50 ) DEFAULT NULL COMMENT ' 职位(如:项目经理、采购负责人) ' ,
` department ` varchar ( 50 ) DEFAULT NULL COMMENT ' 所属部门 ' ,
` is_primary ` tinyint ( 4 ) DEFAULT ' 0 ' COMMENT ' 是否主联系人: 0=否, 1=是(一个客户/供应商可设一个主联系人) ' ,
` remark ` varchar ( 500 ) DEFAULT NULL COMMENT ' 备注(如:关键决策人、对接优先级等) ' ,
` create_time ` datetime DEFAULT CURRENT_TIMESTAMP COMMENT ' 创建时间 ' ,
` update_time ` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' 更新时间 ' ,
` create_by ` bigint ( 20 ) DEFAULT NULL COMMENT ' 创建人ID( 关联用户表) ' ,
` update_by ` bigint ( 20 ) DEFAULT NULL COMMENT ' 更新人ID( 关联用户表) ' ,
` is_deleted ` tinyint ( 4 ) DEFAULT ' 0 ' COMMENT ' 逻辑删除: 0=正常, 1=删除 ' ,
PRIMARY KEY ( ` id ` ) ,
UNIQUE KEY ` uk_tenant_mobile ` ( ` tenant_id ` , ` mobile ` ) COMMENT ' 同一租户内手机号唯一 ' ,
KEY ` idx_tenant_related ` ( ` tenant_id ` , ` related_type ` , ` related_id ` ) COMMENT ' 查询租户下某客户/供应商的所有联系人 ' ,
KEY ` idx_contact_name ` ( ` tenant_id ` , ` contact_name ` ) COMMENT ' 按姓名模糊查询联系人 '
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = ' 租户CRM联系人表 ' ;
/* !40101 SET character_set_client = @saved_cs_client */ ;
- -
-- Table structure for table `yz_tenant_crm_customer`
- -
DROP TABLE IF EXISTS ` yz_tenant_crm_customer ` ;
/* !40101 SET @saved_cs_client = @@character_set_client */ ;
/* !50503 SET character_set_client = utf8mb4 */ ;
CREATE TABLE ` yz_tenant_crm_customer ` (
` id ` bigint ( 20 ) NOT NULL AUTO_INCREMENT COMMENT ' 自增主键ID ' ,
` tenant_id ` varchar ( 64 ) NOT NULL COMMENT ' 租户ID ' ,
` customer_name ` varchar ( 100 ) NOT NULL COMMENT ' 客户名称(企业/个人名称) ' ,
` customer_type ` varchar ( 20 ) NOT NULL COMMENT ' 客户类型( 1-企业/2-政府机构/3-国企/4-个人) ' ,
` contact_person ` varchar ( 50 ) NOT NULL COMMENT ' 联系人姓名 ' ,
` contact_phone ` varchar ( 20 ) NOT NULL COMMENT ' 联系人电话 ' ,
` contact_email ` varchar ( 100 ) DEFAULT ' ' COMMENT ' 联系人邮箱 ' ,
` customer_level ` varchar ( 20 ) DEFAULT ' 3 ' COMMENT ' 客户等级( 1-核心客户/2-重要客户/3-普通客户/4-潜在客户) ' ,
` industry ` varchar ( 50 ) DEFAULT ' ' COMMENT ' 所属行业(如:互联网、金融、制造业、教育等) ' ,
` address ` varchar ( 255 ) DEFAULT ' ' COMMENT ' 客户地址(详细地址) ' ,
` register_time ` date DEFAULT NULL COMMENT ' 客户注册/合作起始日期 ' ,
` expire_time ` date DEFAULT NULL COMMENT ' 合作到期日期(无到期则为空) ' ,
` status ` varchar ( 20 ) NOT NULL DEFAULT ' 1 ' COMMENT ' 客户状态( 0-禁用/1-正常/2-冻结/3-已注销) ' ,
` remark ` text COMMENT ' 客户备注 ' ,
` create_time ` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ' 创建时间 ' ,
` update_time ` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' 更新时间 ' ,
` delete_time ` datetime DEFAULT NULL COMMENT ' 删除时间 ' ,
PRIMARY KEY ( ` id ` ) ,
KEY ` idx_tenant_id ` ( ` tenant_id ` ) COMMENT ' 租户ID索引, 优化多租户隔离查询 ' ,
KEY ` idx_customer_name ` ( ` customer_name ` ) COMMENT ' 客户名称索引,优化按名称模糊查询 ' ,
KEY ` idx_contact_phone ` ( ` contact_phone ` ) COMMENT ' 联系人电话索引,优化按电话精准查询 ' ,
KEY ` idx_status ` ( ` status ` ) COMMENT ' 客户状态索引,优化按状态筛选(如:查询正常客户) ' ,
KEY ` idx_register_time ` ( ` register_time ` ) COMMENT ' 注册时间索引,优化按合作时间范围查询 '
) ENGINE = InnoDB AUTO_INCREMENT = 1001 DEFAULT CHARSET = utf8mb4 COMMENT = ' 客户管理表(支持租户隔离、软删除、客户全生命周期追踪) ' ;
/* !40101 SET character_set_client = @saved_cs_client */ ;
- -
-- Table structure for table `yz_tenant_crm_supplier`
- -
DROP TABLE IF EXISTS ` yz_tenant_crm_supplier ` ;
/* !40101 SET @saved_cs_client = @@character_set_client */ ;
/* !50503 SET character_set_client = utf8mb4 */ ;
CREATE TABLE ` yz_tenant_crm_supplier ` (
` id ` bigint ( 20 ) NOT NULL AUTO_INCREMENT COMMENT ' 自增主键ID ' ,
` tenant_id ` varchar ( 64 ) NOT NULL COMMENT ' 租户ID ' ,
` supplier_name ` varchar ( 100 ) NOT NULL COMMENT ' 供应商名称(企业/个人名称) ' ,
` supplier_type ` varchar ( 20 ) NOT NULL COMMENT ' 供应商类型 ' ,
` contact_person ` varchar ( 50 ) NOT NULL COMMENT ' 联系人姓名 ' ,
` contact_phone ` varchar ( 20 ) NOT NULL COMMENT ' 联系人电话 ' ,
` contact_email ` varchar ( 100 ) DEFAULT ' ' COMMENT ' 联系人邮箱 ' ,
` supplier_level ` varchar ( 20 ) DEFAULT ' 3 ' COMMENT ' 供应商等级( 1-核心供应商/2-重要供应商/3-普通供应商/4-潜在供应商) ' ,
` industry ` varchar ( 50 ) DEFAULT ' ' COMMENT ' 所属行业 ' ,
` address ` varchar ( 255 ) DEFAULT ' ' COMMENT ' 供应商地址 ' ,
` register_time ` date DEFAULT NULL COMMENT ' 供应商注册/合作起始日期 ' ,
` expire_time ` date DEFAULT NULL COMMENT ' 合作到期日期 ' ,
` status ` varchar ( 20 ) NOT NULL DEFAULT ' 1 ' COMMENT ' 供应商状态( 0-禁用/1-正常/2-冻结/3-已注销) ' ,
` remark ` text COMMENT ' 供应商备注 ' ,
` create_time ` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ' 创建时间 ' ,
` update_time ` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' 更新时间 ' ,
` delete_time ` datetime DEFAULT NULL COMMENT ' 删除时间 ' ,
PRIMARY KEY ( ` id ` ) ,
KEY ` idx_tenant_id ` ( ` tenant_id ` ) COMMENT ' 租户ID索引, 优化多租户隔离查询 ' ,
KEY ` idx_supplier_name ` ( ` supplier_name ` ) COMMENT ' 供应商名称索引,优化按名称模糊查询 ' ,
KEY ` idx_contact_phone ` ( ` contact_phone ` ) COMMENT ' 联系人电话索引,优化按电话精准查询 ' ,
KEY ` idx_status ` ( ` status ` ) COMMENT ' 供应商状态索引,优化按状态筛选 ' ,
KEY ` idx_register_time ` ( ` register_time ` ) COMMENT ' 注册时间索引,优化按合作时间范围查询 '
) ENGINE = InnoDB AUTO_INCREMENT = 501 DEFAULT CHARSET = utf8mb4 COMMENT = ' 供应商管理表 ' ;
/* !40101 SET character_set_client = @saved_cs_client */ ;
- -
-- Table structure for table `yz_tenant_departments`
- -
DROP TABLE IF EXISTS ` yz_tenant_departments ` ;
/* !40101 SET @saved_cs_client = @@character_set_client */ ;
/* !50503 SET character_set_client = utf8mb4 */ ;
CREATE TABLE ` yz_tenant_departments ` (
` id ` int ( 11 ) NOT NULL AUTO_INCREMENT COMMENT ' 部门ID ' ,
` tenant_id ` int ( 11 ) NOT NULL DEFAULT ' 0 ' COMMENT ' 租户ID ' ,
` name ` varchar ( 100 ) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT ' 部门名称 ' ,
` code ` varchar ( 50 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 部门编码 ' ,
` parent_id ` int ( 11 ) DEFAULT ' 0 ' COMMENT ' 父部门ID, 0表示顶级部门 ' ,
` description ` text COLLATE utf8mb4_unicode_ci COMMENT ' 部门描述 ' ,
` manager_id ` int ( 11 ) DEFAULT NULL COMMENT ' 部门经理ID ' ,
` sort_order ` int ( 11 ) DEFAULT ' 0 ' COMMENT ' 排序序号 ' ,
` status ` tinyint ( 4 ) DEFAULT ' 1 ' COMMENT ' 状态: 1-启用, 0-禁用 ' ,
` create_time ` datetime DEFAULT CURRENT_TIMESTAMP COMMENT ' 创建时间 ' ,
` update_time ` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' 更新时间 ' ,
` delete_time ` datetime DEFAULT NULL COMMENT ' 删除时间(软删除) ' ,
PRIMARY KEY ( ` id ` ) ,
KEY ` idx_tenant_id ` ( ` tenant_id ` ) ,
KEY ` idx_code ` ( ` code ` ) ,
KEY ` idx_parent_id ` ( ` parent_id ` ) ,
KEY ` idx_status ` ( ` status ` ) ,
KEY ` idx_sort_order ` ( ` sort_order ` ) ,
KEY ` idx_delete_time ` ( ` delete_time ` ) ,
KEY ` idx_tenant_delete ` ( ` tenant_id ` , ` delete_time ` )
) ENGINE = InnoDB AUTO_INCREMENT = 19 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = ' 部门表 ' ;
/* !40101 SET character_set_client = @saved_cs_client */ ;
- -
-- Table structure for table `yz_tenant_employees`
- -
DROP TABLE IF EXISTS ` yz_tenant_employees ` ;
/* !40101 SET @saved_cs_client = @@character_set_client */ ;
/* !50503 SET character_set_client = utf8mb4 */ ;
CREATE TABLE ` yz_tenant_employees ` (
` id ` int ( 11 ) NOT NULL AUTO_INCREMENT COMMENT ' 员工ID ' ,
` tenant_id ` int ( 11 ) NOT NULL DEFAULT ' 0 ' COMMENT ' 租户ID ' ,
` employee_no ` varchar ( 50 ) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT ' 工号 ' ,
` name ` varchar ( 50 ) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT ' 姓名 ' ,
` phone ` varchar ( 20 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 手机号 ' ,
` email ` varchar ( 100 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 邮箱 ' ,
` department_id ` int ( 11 ) DEFAULT NULL COMMENT ' 部门ID ' ,
` position_id ` int ( 11 ) DEFAULT NULL COMMENT ' 职位ID ' ,
` role ` varchar ( 255 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 用户角色 ' ,
` bank_name ` varchar ( 100 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 工资卡开户行 ' ,
` bank_account ` varchar ( 50 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 工资卡卡号 ' ,
` password ` varchar ( 255 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 登录密码(加密后) ' ,
` salt ` varchar ( 100 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 密码盐值 ' ,
` last_login_time ` datetime DEFAULT NULL COMMENT ' 最后登录时间 ' ,
` last_login_ip ` varchar ( 50 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 最后登录IP ' ,
` status ` tinyint ( 4 ) DEFAULT ' 1 ' COMMENT ' 状态: 1-在职, 0-离职 ' ,
` create_time ` datetime DEFAULT CURRENT_TIMESTAMP COMMENT ' 创建时间 ' ,
` update_time ` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' 更新时间 ' ,
` delete_time ` datetime DEFAULT NULL COMMENT ' 删除时间(软删除) ' ,
PRIMARY KEY ( ` id ` ) ,
KEY ` idx_tenant_id ` ( ` tenant_id ` ) ,
KEY ` idx_employee_no ` ( ` employee_no ` ) ,
KEY ` idx_name ` ( ` name ` ) ,
KEY ` idx_department_id ` ( ` department_id ` ) ,
KEY ` idx_position_id ` ( ` position_id ` ) ,
KEY ` idx_status ` ( ` status ` ) ,
KEY ` idx_create_time ` ( ` create_time ` )
) ENGINE = InnoDB AUTO_INCREMENT = 5 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = ' 员工表 ' ;
/* !40101 SET character_set_client = @saved_cs_client */ ;
- -
-- Table structure for table `yz_tenant_positions`
- -
DROP TABLE IF EXISTS ` yz_tenant_positions ` ;
/* !40101 SET @saved_cs_client = @@character_set_client */ ;
/* !50503 SET character_set_client = utf8mb4 */ ;
CREATE TABLE ` yz_tenant_positions ` (
` id ` int ( 11 ) NOT NULL AUTO_INCREMENT COMMENT ' 职位ID ' ,
` tenant_id ` int ( 11 ) NOT NULL DEFAULT ' 0 ' COMMENT ' 租户ID ' ,
` name ` varchar ( 100 ) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT ' 职位名称 ' ,
` code ` varchar ( 50 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 职位编码 ' ,
` department_id ` int ( 11 ) DEFAULT NULL COMMENT ' 所属部门ID ' ,
` level ` int ( 11 ) DEFAULT ' 0 ' COMMENT ' 职位级别 ' ,
` description ` text COLLATE utf8mb4_unicode_ci COMMENT ' 职位描述 ' ,
` sort_order ` int ( 11 ) DEFAULT ' 0 ' COMMENT ' 排序序号 ' ,
` status ` tinyint ( 4 ) DEFAULT ' 1 ' COMMENT ' 状态: 1-启用, 0-禁用 ' ,
` create_time ` datetime DEFAULT CURRENT_TIMESTAMP COMMENT ' 创建时间 ' ,
` update_time ` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' 更新时间 ' ,
` delete_time ` datetime DEFAULT NULL COMMENT ' 删除时间(软删除) ' ,
PRIMARY KEY ( ` id ` ) ,
KEY ` idx_tenant_id ` ( ` tenant_id ` ) ,
KEY ` idx_code ` ( ` code ` ) ,
KEY ` idx_department_id ` ( ` department_id ` ) ,
KEY ` idx_status ` ( ` status ` ) ,
KEY ` idx_sort_order ` ( ` sort_order ` ) ,
KEY ` idx_delete_time ` ( ` delete_time ` ) ,
KEY ` idx_dept_delete_status ` ( ` department_id ` , ` delete_time ` , ` status ` )
) ENGINE = InnoDB AUTO_INCREMENT = 104 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = ' 职位表 ' ;
/* !40101 SET character_set_client = @saved_cs_client */ ;
- -
-- Table structure for table `yz_tenant_tasks`
- -
DROP TABLE IF EXISTS ` yz_tenant_tasks ` ;
/* !40101 SET @saved_cs_client = @@character_set_client */ ;
/* !50503 SET character_set_client = utf8mb4 */ ;
CREATE TABLE ` yz_tenant_tasks ` (
` id ` bigint ( 20 ) NOT NULL AUTO_INCREMENT COMMENT ' 任务ID( 主键) ' ,
` tenant_id ` bigint ( 20 ) NOT NULL COMMENT ' 租户ID( 多租户隔离, 如无多租户需求可设为默认1) ' ,
` task_no ` varchar ( 64 ) NOT NULL COMMENT ' 任务编号( 唯一标识, 如TASK20251112001) ' ,
` task_name ` varchar ( 255 ) NOT NULL COMMENT ' 任务名称 ' ,
` task_desc ` text COMMENT ' 任务描述(富文本内容,支持图片/表格) ' ,
` task_type ` varchar ( 32 ) DEFAULT ' common ' COMMENT ' 任务类型( common=普通任务, project=项目任务, repeat=重复任务,可自定义) ' ,
` business_tag ` varchar ( 64 ) DEFAULT NULL COMMENT ' 业务标签(多个标签用逗号分隔,如"紧急,日常协作") ' ,
` parent_task_id ` bigint ( 20 ) DEFAULT NULL COMMENT ' 父任务ID( 子任务关联用, 无父任务则为NULL) ' ,
` project_id ` bigint ( 20 ) DEFAULT NULL COMMENT ' 关联项目ID( 关联OA项目模块) ' ,
` related_id ` bigint ( 20 ) DEFAULT NULL COMMENT ' 关联其他模块ID( 如审批单ID、客户ID) ' ,
` related_type ` varchar ( 32 ) DEFAULT NULL COMMENT ' 关联模块类型( approval=审批单, customer=客户,为空则无关联) ' ,
` team_employee_ids ` varchar ( 500 ) DEFAULT NULL COMMENT ' 团队成员 ' ,
` creator_id ` bigint ( 20 ) NOT NULL COMMENT ' 创建人ID ' ,
` creator_name ` varchar ( 64 ) NOT NULL COMMENT ' 创建人姓名 ' ,
` principal_id ` bigint ( 20 ) NOT NULL COMMENT ' 负责人ID ' ,
` principal_name ` varchar ( 64 ) NOT NULL COMMENT ' 负责人姓名 ' ,
` participant_ids ` varchar ( 512 ) DEFAULT NULL COMMENT ' 参与人ID( 多个用逗号分隔) ' ,
` participant_names ` varchar ( 512 ) DEFAULT NULL COMMENT ' 参与人姓名(多个用逗号分隔) ' ,
` cc_ids ` varchar ( 512 ) DEFAULT NULL COMMENT ' 抄送人ID( 多个用逗号分隔) ' ,
` cc_names ` varchar ( 512 ) DEFAULT NULL COMMENT ' 抄送人姓名(多个用逗号分隔) ' ,
` plan_start_time ` datetime DEFAULT NULL COMMENT ' 计划开始时间 ' ,
` plan_end_time ` datetime NOT NULL COMMENT ' 计划截止时间 ' ,
` actual_start_time ` datetime DEFAULT NULL COMMENT ' 实际开始时间 ' ,
` actual_end_time ` datetime DEFAULT NULL COMMENT ' 实际结束时间 ' ,
` estimated_hours ` decimal ( 10 , 2 ) DEFAULT NULL COMMENT ' 预估工时(小时) ' ,
` actual_hours ` decimal ( 10 , 2 ) DEFAULT NULL COMMENT ' 实际工时(小时) ' ,
` task_status ` varchar ( 32 ) NOT NULL DEFAULT ' not_started ' COMMENT ' 任务状态( 0-未开始, 1-进行中, 2-暂停, 3-已完成, 4-已关闭) ' ,
` priority ` varchar ( 16 ) NOT NULL DEFAULT ' medium ' COMMENT ' 优先级( 0-高, 1-中, 2-低, 3-紧急) ' ,
` progress ` tinyint ( 4 ) NOT NULL DEFAULT ' 0 ' COMMENT ' 任务进度( 0-100, 子任务存在时自动计算) ' ,
` need_approval ` tinyint ( 4 ) NOT NULL DEFAULT ' 0 ' COMMENT ' 是否需要完成审批( 0=否, 1=是) ' ,
` approval_id ` bigint ( 20 ) DEFAULT NULL COMMENT ' 关联审批单ID( 完成审批时填写) ' ,
` delay_approved ` tinyint ( 4 ) NOT NULL DEFAULT ' 0 ' COMMENT ' 是否已延期审批( 0=否, 1=是) ' ,
` old_plan_end_time ` datetime DEFAULT NULL COMMENT ' 原计划截止时间(延期时记录) ' ,
` repeat_type ` varchar ( 16 ) DEFAULT NULL COMMENT ' 重复类型( daily=按日, weekly=按周, monthly=按月,为空则非重复任务) ' ,
` repeat_cycle ` int ( 11 ) DEFAULT NULL COMMENT ' 重复周期( 如每周重复则为7, 每月重复则为30) ' ,
` repeat_end_time ` datetime DEFAULT NULL COMMENT ' 重复截止时间(重复任务终止时间) ' ,
` attachment_ids ` varchar ( 1024 ) DEFAULT NULL COMMENT ' 附件ID( 关联文件表, 多个用逗号分隔) ' ,
` remark ` varchar ( 512 ) DEFAULT NULL COMMENT ' 备注(额外说明) ' ,
` is_archived ` tinyint ( 4 ) NOT NULL DEFAULT ' 0 ' COMMENT ' 是否归档( 0=未归档, 1=已归档) ' ,
` archive_time ` datetime DEFAULT NULL COMMENT ' 归档时间 ' ,
` created_time ` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ' 创建时间 ' ,
` updated_time ` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' 更新时间 ' ,
` deleted_time ` datetime DEFAULT NULL COMMENT ' 删除时间 ' ,
` operator_id ` bigint ( 20 ) DEFAULT NULL COMMENT ' 最后操作人ID ' ,
` operator_name ` varchar ( 64 ) DEFAULT NULL COMMENT ' 最后操作人姓名 ' ,
PRIMARY KEY ( ` id ` ) ,
UNIQUE KEY ` uk_tenant_task_no ` ( ` tenant_id ` , ` task_no ` ) COMMENT ' 租户+任务编号唯一索引 ' ,
KEY ` idx_tenant_principal ` ( ` tenant_id ` , ` principal_id ` ) COMMENT ' 租户+负责人索引(查询个人任务) ' ,
KEY ` idx_tenant_status ` ( ` tenant_id ` , ` task_status ` ) COMMENT ' 租户+状态索引(筛选任务状态) ' ,
KEY ` idx_tenant_project ` ( ` tenant_id ` , ` project_id ` ) COMMENT ' 租户+项目索引(查询项目下任务) ' ,
KEY ` idx_tenant_plan_end_time ` ( ` tenant_id ` , ` plan_end_time ` ) COMMENT ' 租户+截止时间索引(逾期提醒、日历视图) ' ,
KEY ` idx_parent_task_id ` ( ` parent_task_id ` ) COMMENT ' 父任务ID索引( 查询子任务) '
) ENGINE = InnoDB AUTO_INCREMENT = 2 DEFAULT CHARSET = utf8mb4 COMMENT = ' OA系统任务表( 多租户适配) ' ;
/* !40101 SET character_set_client = @saved_cs_client */ ;
- -
-- Table structure for table `yz_tenants`
- -
DROP TABLE IF EXISTS ` yz_tenants ` ;
/* !40101 SET @saved_cs_client = @@character_set_client */ ;
/* !50503 SET character_set_client = utf8mb4 */ ;
CREATE TABLE ` yz_tenants ` (
` id ` int ( 11 ) NOT NULL AUTO_INCREMENT COMMENT ' 租户ID ' ,
` name ` varchar ( 100 ) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT ' 租户名称 ' ,
` code ` varchar ( 50 ) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT ' 租户编码(唯一) ' ,
` owner ` varchar ( 50 ) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT ' 负责人 ' ,
` phone ` varchar ( 20 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 联系电话 ' ,
` email ` varchar ( 100 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 邮箱地址 ' ,
` status ` varchar ( 20 ) COLLATE utf8mb4_unicode_ci DEFAULT ' 1 ' COMMENT ' 状态: 1-启用, 0-禁用 ' ,
` audit_status ` varchar ( 20 ) COLLATE utf8mb4_unicode_ci DEFAULT ' pending ' COMMENT ' 审核状态: pending-待审核, approved-已通过, rejected-已拒绝 ' ,
` audit_comment ` text COLLATE utf8mb4_unicode_ci COMMENT ' 审核意见 ' ,
` audit_by ` varchar ( 50 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 审核人 ' ,
` audit_time ` datetime DEFAULT NULL COMMENT ' 审核时间 ' ,
` capacity ` varchar ( 255 ) COLLATE utf8mb4_unicode_ci DEFAULT ' 0 ' COMMENT ' 分配空间容量( MB) ' ,
` capacity_used ` varchar ( 255 ) COLLATE utf8mb4_unicode_ci DEFAULT ' 0 ' COMMENT ' 已用空间容量( MB) ' ,
` attachment_url ` longtext COLLATE utf8mb4_unicode_ci COMMENT ' 附件 ' ,
` remark ` text COLLATE utf8mb4_unicode_ci COMMENT ' 备注 ' ,
` create_time ` datetime DEFAULT CURRENT_TIMESTAMP COMMENT ' 创建时间 ' ,
` update_time ` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' 更新时间 ' ,
` delete_time ` datetime DEFAULT NULL COMMENT ' 删除时间 ' ,
` create_by ` varchar ( 50 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 创建人 ' ,
` update_by ` varchar ( 50 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 更新人 ' ,
PRIMARY KEY ( ` id ` ) ,
UNIQUE KEY ` uk_code ` ( ` code ` ) ,
KEY ` idx_name ` ( ` name ` ) ,
KEY ` idx_owner ` ( ` owner ` ) ,
KEY ` idx_status ` ( ` status ` ) ,
KEY ` idx_audit_status ` ( ` audit_status ` ) ,
KEY ` idx_create_time ` ( ` create_time ` )
) ENGINE = InnoDB AUTO_INCREMENT = 11 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = ' 租户表 ' ;
/* !40101 SET character_set_client = @saved_cs_client */ ;
- -
-- Table structure for table `yz_users`
- -
DROP TABLE IF EXISTS ` yz_users ` ;
/* !40101 SET @saved_cs_client = @@character_set_client */ ;
/* !50503 SET character_set_client = utf8mb4 */ ;
CREATE TABLE ` yz_users ` (
` id ` int ( 11 ) NOT NULL AUTO_INCREMENT COMMENT ' 用户ID ' ,
` tenant_id ` int ( 11 ) DEFAULT NULL COMMENT ' 租户ID ' ,
` username ` varchar ( 50 ) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT ' 用户名 ' ,
` password ` varchar ( 255 ) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT ' 加密后的密码 ' ,
` salt ` varchar ( 100 ) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT ' 密码盐值 ' ,
` email ` varchar ( 100 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 邮箱地址 ' ,
` avatar ` varchar ( 500 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 头像URL ' ,
` nickname ` varchar ( 50 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 昵称 ' ,
` role ` varchar ( 20 ) COLLATE utf8mb4_unicode_ci DEFAULT ' user ' COMMENT ' 用户角色 ' ,
` department_id ` int ( 11 ) DEFAULT NULL COMMENT ' 部门ID ' ,
` position_id ` int ( 11 ) DEFAULT NULL COMMENT ' 职位ID ' ,
` status ` tinyint ( 4 ) DEFAULT ' 1 ' COMMENT ' 用户状态: 0-禁用, 1-启用 ' ,
` last_login_time ` datetime DEFAULT NULL COMMENT ' 最后登录时间 ' ,
` last_login_ip ` varchar ( 45 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 最后登录IP ' ,
` login_count ` int ( 11 ) DEFAULT ' 0 ' COMMENT ' 登录次数 ' ,
` create_time ` datetime DEFAULT CURRENT_TIMESTAMP COMMENT ' 创建时间 ' ,
` update_time ` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' 更新时间 ' ,
` delete_time ` datetime DEFAULT NULL COMMENT ' 删除时间 ' ,
` create_by ` varchar ( 50 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 创建人 ' ,
` update_by ` varchar ( 50 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ' 更新人 ' ,
PRIMARY KEY ( ` id ` ) ,
UNIQUE KEY ` uk_username ` ( ` username ` ) ,
KEY ` idx_email ` ( ` email ` ) ,
KEY ` idx_role ` ( ` role ` ) ,
KEY ` idx_status ` ( ` status ` ) ,
KEY ` idx_create_time ` ( ` create_time ` )
) ENGINE = InnoDB AUTO_INCREMENT = 4 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = ' 用户表 ' ;
/* !40101 SET character_set_client = @saved_cs_client */ ;
/* !40103 SET TIME_ZONE=@OLD_TIME_ZONE */ ;
/* !40101 SET SQL_MODE=@OLD_SQL_MODE */ ;
/* !40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */ ;
/* !40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */ ;
/* !40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */ ;
/* !40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */ ;
/* !40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */ ;
/* !40111 SET SQL_NOTES=@OLD_SQL_NOTES */ ;
CREATE TABLE ` yz_exam_question ` (
` id ` bigint ( 20 ) NOT NULL AUTO_INCREMENT COMMENT ' 试题唯一标识 ' ,
` tenant_id ` int ( 11 ) NOT NULL COMMENT ' 租户ID( 多租户隔离) ' ,
` question_type ` tinyint ( 1 ) NOT NULL DEFAULT 1 COMMENT ' 题型( 1-单选, 2-多选, 3-判断, 4-填空, 5-简答) ' ,
` question_title ` varchar ( 1000 ) NOT NULL COMMENT ' 题干内容 ' ,
` question_analysis ` varchar ( 2000 ) DEFAULT ' ' COMMENT ' 试题解析 ' ,
` score ` decimal ( 5 , 2 ) NOT NULL DEFAULT 0 . 00 COMMENT ' 试题分值 ' ,
` sort_order ` tinyint ( 4 ) DEFAULT 0 COMMENT ' 排序序号 ' ,
` status ` tinyint ( 1 ) NOT NULL DEFAULT 1 COMMENT ' 状态( 1-启用, 0-禁用) ' ,
` create_time ` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ' 创建时间 ' ,
` update_time ` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' 更新时间 ' ,
` delete_time ` datetime DEFAULT NULL COMMENT ' 删除时间(软删除) ' ,
PRIMARY KEY ( ` id ` ) ,
-- 核心联合索引:租户+状态+删除时间(查询可用试题)
KEY ` idx_tenant_status_delete ` ( ` tenant_id ` , ` status ` , ` delete_time ` ) ,
-- 联合索引:租户+题型+删除时间(筛选特定题型试题)
KEY ` idx_tenant_type_delete ` ( ` tenant_id ` , ` question_type ` , ` delete_time ` )
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = ' 试题主表(通用型+多租户隔离+软删除) ' ;
CREATE TABLE ` yz_exam_question_option ` (
` id ` bigint ( 20 ) NOT NULL AUTO_INCREMENT COMMENT ' 选项唯一标识 ' ,
` tenant_id ` int ( 11 ) NOT NULL COMMENT ' 租户ID( 多租户隔离) ' ,
` question_id ` bigint ( 20 ) NOT NULL COMMENT ' 关联试题主表ID ' ,
` option_label ` varchar ( 10 ) NOT NULL COMMENT ' 选项标签( A/B/C/D/对/错) ' ,
` option_content ` varchar ( 500 ) NOT NULL COMMENT ' 选项内容 ' ,
` sort_order ` tinyint ( 4 ) DEFAULT 0 COMMENT ' 排序序号 ' ,
` create_time ` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ' 创建时间 ' ,
` update_time ` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' 更新时间 ' ,
` delete_time ` datetime DEFAULT NULL COMMENT ' 删除时间(软删除) ' ,
PRIMARY KEY ( ` id ` ) ,
-- 核心联合索引:租户+试题ID+删除时间(查询某试题所有选项)
KEY ` idx_tenant_question_delete ` ( ` tenant_id ` , ` question_id ` , ` delete_time ` ) ,
-- 联合索引:租户+试题ID+选项标签+删除时间(快速定位选项)
KEY ` idx_tenant_question_label_delete ` ( ` tenant_id ` , ` question_id ` , ` option_label ` , ` delete_time ` )
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = ' 试题选项表(客观题专用+多租户隔离+软删除) ' ;
CREATE TABLE ` yz_exam_question_answer ` (
` id ` bigint ( 20 ) NOT NULL AUTO_INCREMENT COMMENT ' 答案唯一标识 ' ,
` tenant_id ` int ( 11 ) NOT NULL COMMENT ' 租户ID( 多租户隔离) ' ,
` question_id ` bigint ( 20 ) NOT NULL COMMENT ' 关联试题主表ID ' ,
` answer_content ` varchar ( 1000 ) NOT NULL COMMENT ' 正确答案(客观题存标签,主观题存文字) ' ,
` create_time ` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ' 创建时间 ' ,
` update_time ` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' 更新时间 ' ,
` delete_time ` datetime DEFAULT NULL COMMENT ' 删除时间(软删除) ' ,
PRIMARY KEY ( ` id ` ) ,
-- 核心联合索引:租户+试题ID+删除时间(查询某试题正确答案)
KEY ` idx_tenant_question_delete ` ( ` tenant_id ` , ` question_id ` , ` delete_time ` ) ,
-- 唯一索引:同一租户下同一试题只能有一个正确答案
UNIQUE KEY ` uk_tenant_question ` ( ` tenant_id ` , ` question_id ` , ` delete_time ` ) COMMENT ' 软删除状态下试题答案唯一 '
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = ' 试题答案表(通用答案存储+多租户隔离+软删除) ' ;