diff --git a/README.md b/README.md
index 58315170..2b516213 100644
--- a/README.md
+++ b/README.md
@@ -20,13 +20,11 @@

diff --git a/sql/mysql8/xxl_job.sql b/sql/mysql/xxl_job.sql
similarity index 100%
rename from sql/mysql8/xxl_job.sql
rename to sql/mysql/xxl_job.sql
diff --git a/sql/mysql8/youlai_boot.sql b/sql/mysql/youlai_boot.sql
similarity index 54%
rename from sql/mysql8/youlai_boot.sql
rename to sql/mysql/youlai_boot.sql
index 70247977..4b3e5c30 100644
--- a/sql/mysql8/youlai_boot.sql
+++ b/sql/mysql/youlai_boot.sql
@@ -1,12 +1,12 @@
-# YouLai_Boot 数据库(MySQL 8.x)
+# YouLai_Boot 数据库(MySQL 5.7 ~ MySQL 8.x)
# Copyright (c) 2021-present, youlai.tech
-- ----------------------------
-- 1. 创建数据库
-- ----------------------------
-CREATE DATABASE IF NOT EXISTS youlai_boot DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci;
+CREATE DATABASE IF NOT EXISTS youlai_boot CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_unicode_ci;
-- ----------------------------
@@ -14,11 +14,8 @@ CREATE DATABASE IF NOT EXISTS youlai_boot DEFAULT CHARACTER SET utf8mb4 DEFAULT
-- ----------------------------
use youlai_boot;
-SET NAMES utf8mb4;
-SET FOREIGN_KEY_CHECKS = 0;
-
- -- 开启事务
-START TRANSACTION;
+SET NAMES utf8mb4; # 设置字符集
+SET FOREIGN_KEY_CHECKS = 0; # 关闭外键检查,加快导入速度
-- ----------------------------
-- Table structure for sys_dept
@@ -26,27 +23,27 @@ START TRANSACTION;
DROP TABLE IF EXISTS `sys_dept`;
CREATE TABLE `sys_dept` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
- `name` varchar(100) NOT NULL DEFAULT '' COMMENT '部门名称',
- `code` varchar(100) NOT NULL COMMENT '部门编号',
- `parent_id` bigint NOT NULL DEFAULT 0 COMMENT '父节点id',
- `tree_path` varchar(255) NOT NULL DEFAULT '' COMMENT '父节点id路径',
- `sort` smallint NULL DEFAULT 0 COMMENT '显示顺序',
- `status` tinyint NOT NULL DEFAULT 1 COMMENT '状态(1-正常 0-禁用)',
- `create_by` bigint NULL DEFAULT NULL COMMENT '创建人ID',
- `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
- `update_by` bigint NULL DEFAULT NULL COMMENT '修改人ID',
- `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
- `is_deleted` tinyint NOT NULL DEFAULT 0 COMMENT '逻辑删除标识(1-已删除 0-未删除)',
+ `name` varchar(100) NOT NULL COMMENT '部门名称',
+ `code` varchar(100) NOT NULL COMMENT '部门编号',
+ `parent_id` bigint DEFAULT 0 COMMENT '父节点id',
+ `tree_path` varchar(255) NOT NULL COMMENT '父节点id路径',
+ `sort` smallint DEFAULT 0 COMMENT '显示顺序',
+ `status` tinyint DEFAULT 1 COMMENT '状态(1-正常 0-禁用)',
+ `create_by` bigint NULL COMMENT '创建人ID',
+ `create_time` datetime NULL COMMENT '创建时间',
+ `update_by` bigint NULL COMMENT '修改人ID',
+ `update_time` datetime NULL COMMENT '更新时间',
+ `is_deleted` tinyint DEFAULT 0 COMMENT '逻辑删除标识(1-已删除 0-未删除)',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_code`(`code` ASC) USING BTREE COMMENT '部门编号唯一索引'
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '部门表' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '部门表';
-- ----------------------------
-- Records of sys_dept
-- ----------------------------
-INSERT INTO `sys_dept` VALUES (1, '有来技术', 'YOULAI', 0, '0', 1, 1, 1, NULL, 1, '2024-06-24 23:48:59', 0);
-INSERT INTO `sys_dept` VALUES (2, '研发部门', 'RD001', 1, '0,1', 1, 1, 2, NULL, 2, '2022-04-19 12:46:37', 0);
-INSERT INTO `sys_dept` VALUES (3, '测试部门', 'QA001', 1, '0,1', 1, 1, 2, NULL, 2, '2022-04-19 12:46:37', 0);
+INSERT INTO `sys_dept` VALUES (1, '有来技术', 'YOULAI', 0, '0', 1, 1, 1, NULL, 1, now(), 0);
+INSERT INTO `sys_dept` VALUES (2, '研发部门', 'RD001', 1, '0,1', 1, 1, 2, NULL, 2, now(), 0);
+INSERT INTO `sys_dept` VALUES (3, '测试部门', 'QA001', 1, '0,1', 1, 1, 2, NULL, 2, now(), 0);
-- ----------------------------
-- Table structure for sys_dict
@@ -54,18 +51,18 @@ INSERT INTO `sys_dept` VALUES (3, '测试部门', 'QA001', 1, '0,1', 1, 1, 2, NU
DROP TABLE IF EXISTS `sys_dict`;
CREATE TABLE `sys_dict` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键 ',
- `dict_code` varchar(50) DEFAULT '' COMMENT '类型编码',
- `name` varchar(50) DEFAULT '' COMMENT '类型名称',
+ `dict_code` varchar(50) COMMENT '类型编码',
+ `name` varchar(50) COMMENT '类型名称',
`status` tinyint(1) DEFAULT '0' COMMENT '状态(0:正常;1:禁用)',
- `remark` varchar(255) DEFAULT NULL COMMENT '备注',
- `create_time` datetime DEFAULT NULL COMMENT '创建时间',
- `create_by` bigint DEFAULT NULL COMMENT '创建人ID',
- `update_time` datetime DEFAULT NULL COMMENT '更新时间',
- `update_by` bigint DEFAULT NULL COMMENT '修改人ID',
+ `remark` varchar(255) COMMENT '备注',
+ `create_time` datetime COMMENT '创建时间',
+ `create_by` bigint COMMENT '创建人ID',
+ `update_time` datetime COMMENT '更新时间',
+ `update_by` bigint COMMENT '修改人ID',
`is_deleted` tinyint DEFAULT '0' COMMENT '是否删除(1-删除,0-未删除)',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_dict_code` (`dict_code`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='字典表';
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='字典表';
-- ----------------------------
-- Records of sys_dict
-- ----------------------------
@@ -80,19 +77,19 @@ INSERT INTO `sys_dict` VALUES (3, 'notice_level', '通知级别', 1, NULL, now()
DROP TABLE IF EXISTS `sys_dict_data`;
CREATE TABLE `sys_dict_data` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
- `dict_code` varchar(50) DEFAULT NULL COMMENT '关联字典编码,与sys_dict表中的dict_code对应',
- `value` varchar(50) DEFAULT '' COMMENT '字典项值',
- `label` varchar(100) DEFAULT '' COMMENT '字典项标签',
- `tag_type` varchar(50) DEFAULT NULL COMMENT '标签类型,用于前端样式展示(如success、warning等)',
+ `dict_code` varchar(50) COMMENT '关联字典编码,与sys_dict表中的dict_code对应',
+ `value` varchar(50) COMMENT '字典项值',
+ `label` varchar(100) COMMENT '字典项标签',
+ `tag_type` varchar(50) COMMENT '标签类型,用于前端样式展示(如success、warning等)',
`status` tinyint DEFAULT '0' COMMENT '状态(1-正常,0-禁用)',
`sort` int DEFAULT '0' COMMENT '排序',
- `remark` varchar(255) DEFAULT '' COMMENT '备注',
- `create_time` datetime DEFAULT NULL COMMENT '创建时间',
- `create_by` bigint DEFAULT NULL COMMENT '创建人ID',
- `update_time` datetime DEFAULT NULL COMMENT '更新时间',
- `update_by` bigint DEFAULT NULL COMMENT '修改人ID',
+ `remark` varchar(255) COMMENT '备注',
+ `create_time` datetime COMMENT '创建时间',
+ `create_by` bigint COMMENT '创建人ID',
+ `update_time` datetime COMMENT '更新时间',
+ `update_by` bigint COMMENT '修改人ID',
PRIMARY KEY (`id`) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='字典数据表';
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='字典数据表';
-- ----------------------------
-- Records of sys_dict_data
@@ -117,102 +114,102 @@ DROP TABLE IF EXISTS `sys_menu`;
CREATE TABLE `sys_menu` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
`parent_id` bigint NOT NULL COMMENT '父菜单ID',
- `tree_path` varchar(255) DEFAULT NULL COMMENT '父节点ID路径',
- `name` varchar(64) NOT NULL DEFAULT '' COMMENT '菜单名称',
+ `tree_path` varchar(255) COMMENT '父节点ID路径',
+ `name` varchar(64) NOT NULL COMMENT '菜单名称',
`type` tinyint NOT NULL COMMENT '菜单类型(1-菜单 2-目录 3-外链 4-按钮)',
- `route_name` varchar(255) DEFAULT NULL COMMENT '路由名称(Vue Router 中用于命名路由)',
- `route_path` varchar(128) DEFAULT '' COMMENT '路由路径(Vue Router 中定义的 URL 路径)',
- `component` varchar(128) DEFAULT NULL COMMENT '组件路径(组件页面完整路径,相对于 src/views/,缺省后缀 .vue)',
- `perm` varchar(128) DEFAULT NULL COMMENT '【按钮】权限标识',
- `always_show` tinyint NULL DEFAULT 0 COMMENT '【目录】只有一个子路由是否始终显示(1-是 0-否)',
- `keep_alive` tinyint NULL DEFAULT 0 COMMENT '【菜单】是否开启页面缓存(1-是 0-否)',
- `visible` tinyint(1) NOT NULL DEFAULT 1 COMMENT '显示状态(1-显示 0-隐藏)',
- `sort` int NULL DEFAULT 0 COMMENT '排序',
- `icon` varchar(64) DEFAULT '' COMMENT '菜单图标',
- `redirect` varchar(128) DEFAULT NULL COMMENT '跳转路径',
- `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
- `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
- `params` json NULL COMMENT '路由参数',
+ `route_name` varchar(255) COMMENT '路由名称(Vue Router 中用于命名路由)',
+ `route_path` varchar(128) COMMENT '路由路径(Vue Router 中定义的 URL 路径)',
+ `component` varchar(128) COMMENT '组件路径(组件页面完整路径,相对于 src/views/,缺省后缀 .vue)',
+ `perm` varchar(128) COMMENT '【按钮】权限标识',
+ `always_show` tinyint DEFAULT 0 COMMENT '【目录】只有一个子路由是否始终显示(1-是 0-否)',
+ `keep_alive` tinyint DEFAULT 0 COMMENT '【菜单】是否开启页面缓存(1-是 0-否)',
+ `visible` tinyint(1) DEFAULT 1 COMMENT '显示状态(1-显示 0-隐藏)',
+ `sort` int DEFAULT 0 COMMENT '排序',
+ `icon` varchar(64) COMMENT '菜单图标',
+ `redirect` varchar(128) COMMENT '跳转路径',
+ `create_time` datetime NULL COMMENT '创建时间',
+ `update_time` datetime NULL COMMENT '更新时间',
+ `params` varchar(255) NULL COMMENT '路由参数',
PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '菜单管理' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '菜单管理';
-- ----------------------------
-- Records of sys_menu
-- ----------------------------
-INSERT INTO `sys_menu` VALUES (1, 0, '0', '系统管理', 2, '', '/system', 'Layout', NULL, NULL, NULL, 1, 1, 'system', '/system/user', '2024-10-05 23:35:58', '2024-10-05 23:35:58', NULL);
-INSERT INTO `sys_menu` VALUES (2, 1, '0,1', '用户管理', 1, 'User', 'user', 'system/user/index', NULL, NULL, 1, 1, 1, 'el-icon-User', NULL, '2024-10-05 23:35:59', '2024-10-05 23:35:59', NULL);
-INSERT INTO `sys_menu` VALUES (3, 1, '0,1', '角色管理', 1, 'Role', 'role', 'system/role/index', NULL, NULL, 1, 1, 2, 'role', NULL, '2024-10-05 23:36:00', '2024-10-05 23:36:00', NULL);
-INSERT INTO `sys_menu` VALUES (4, 1, '0,1', '菜单管理', 1, 'SysMenu', 'menu', 'system/menu/index', NULL, NULL, 1, 1, 3, 'menu', NULL, '2024-10-05 23:36:01', '2024-10-05 23:36:01', NULL);
-INSERT INTO `sys_menu` VALUES (5, 1, '0,1', '部门管理', 1, 'Dept', 'dept', 'system/dept/index', NULL, NULL, 1, 1, 4, 'tree', NULL, '2024-10-05 23:36:02', '2024-10-05 23:36:02', NULL);
-INSERT INTO `sys_menu` VALUES (6, 1, '0,1', '字典管理', 1, 'Dict', 'dict', 'system/dict/index', NULL, NULL, 1, 1, 5, 'dict', NULL, '2024-10-05 23:36:02', '2024-10-05 23:36:02', NULL);
-INSERT INTO `sys_menu` VALUES (20, 0, '0', '多级菜单', 2, NULL, '/multi-level', 'Layout', NULL, 1, NULL, 1, 9, 'cascader', '', '2024-10-05 23:36:02', '2024-10-05 23:36:02', NULL);
-INSERT INTO `sys_menu` VALUES (21, 20, '0,20', '菜单一级', 1, NULL, 'multi-level1', 'demo/multi-level/level1', NULL, 1, NULL, 1, 1, '', '', '2024-10-05 23:36:02', '2024-10-05 23:36:02', NULL);
-INSERT INTO `sys_menu` VALUES (22, 21, '0,20,21', '菜单二级', 1, NULL, 'multi-level2', 'demo/multi-level/children/level2', NULL, 0, NULL, 1, 1, '', NULL, '2024-10-05 23:36:02', '2024-10-05 23:36:02', NULL);
-INSERT INTO `sys_menu` VALUES (23, 22, '0,20,21,22', '菜单三级-1', 1, NULL, 'multi-level3-1', 'demo/multi-level/children/children/level3-1', NULL, 0, 1, 1, 1, '', '', '2024-10-05 23:36:02', '2024-10-05 23:36:02', NULL);
-INSERT INTO `sys_menu` VALUES (24, 22, '0,20,21,22', '菜单三级-2', 1, NULL, 'multi-level3-2', 'demo/multi-level/children/children/level3-2', NULL, 0, 1, 1, 2, '', '', '2024-10-05 23:36:02', '2024-10-05 23:36:02', NULL);
-INSERT INTO `sys_menu` VALUES (26, 0, '0', '平台文档', 2, '', '/doc', 'Layout', NULL, NULL, NULL, 1, 8, 'document', 'https://juejin.cn/post/7228990409909108793', '2024-10-05 23:36:02', '2024-10-05 23:36:02', NULL);
-INSERT INTO `sys_menu` VALUES (30, 26, '0,26', '平台文档(外链)', 3, NULL, 'https://juejin.cn/post/7228990409909108793', '', NULL, NULL, NULL, 1, 2, 'link', '', '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
-INSERT INTO `sys_menu` VALUES (31, 2, '0,1,2', '用户新增', 4, NULL, '', NULL, 'sys:user:add', NULL, NULL, 1, 1, '', '', '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
-INSERT INTO `sys_menu` VALUES (32, 2, '0,1,2', '用户编辑', 4, NULL, '', NULL, 'sys:user:edit', NULL, NULL, 1, 2, '', '', '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
-INSERT INTO `sys_menu` VALUES (33, 2, '0,1,2', '用户删除', 4, NULL, '', NULL, 'sys:user:delete', NULL, NULL, 1, 3, '', '', '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
-INSERT INTO `sys_menu` VALUES (36, 0, '0', '组件封装', 2, NULL, '/component', 'Layout', NULL, NULL, NULL, 1, 10, 'menu', '', '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
+INSERT INTO `sys_menu` VALUES (1, 0, '0', '系统管理', 2, '', '/system', 'Layout', NULL, NULL, NULL, 1, 1, 'system', '/system/user', now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (2, 1, '0,1', '用户管理', 1, 'User', 'user', 'system/user/index', NULL, NULL, 1, 1, 1, 'el-icon-User', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (3, 1, '0,1', '角色管理', 1, 'Role', 'role', 'system/role/index', NULL, NULL, 1, 1, 2, 'role', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (4, 1, '0,1', '菜单管理', 1, 'SysMenu', 'menu', 'system/menu/index', NULL, NULL, 1, 1, 3, 'menu', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (5, 1, '0,1', '部门管理', 1, 'Dept', 'dept', 'system/dept/index', NULL, NULL, 1, 1, 4, 'tree', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (6, 1, '0,1', '字典管理', 1, 'Dict', 'dict', 'system/dict/index', NULL, NULL, 1, 1, 5, 'dict', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (20, 0, '0', '多级菜单', 2, NULL, '/multi-level', 'Layout', NULL, 1, NULL, 1, 9, 'cascader', '', now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (21, 20, '0,20', '菜单一级', 1, NULL, 'multi-level1', 'demo/multi-level/level1', NULL, 1, NULL, 1, 1, '', '', now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (22, 21, '0,20,21', '菜单二级', 1, NULL, 'multi-level2', 'demo/multi-level/children/level2', NULL, 0, NULL, 1, 1, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (23, 22, '0,20,21,22', '菜单三级-1', 1, NULL, 'multi-level3-1', 'demo/multi-level/children/children/level3-1', NULL, 0, 1, 1, 1, '', '', now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (24, 22, '0,20,21,22', '菜单三级-2', 1, NULL, 'multi-level3-2', 'demo/multi-level/children/children/level3-2', NULL, 0, 1, 1, 2, '', '', now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (26, 0, '0', '平台文档', 2, '', '/doc', 'Layout', NULL, NULL, NULL, 1, 8, 'document', 'https://juejin.cn/post/7228990409909108793', now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (30, 26, '0,26', '平台文档(外链)', 3, NULL, 'https://juejin.cn/post/7228990409909108793', '', NULL, NULL, NULL, 1, 2, 'link', '', now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (31, 2, '0,1,2', '用户新增', 4, NULL, '', NULL, 'sys:user:add', NULL, NULL, 1, 1, '', '', now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (32, 2, '0,1,2', '用户编辑', 4, NULL, '', NULL, 'sys:user:edit', NULL, NULL, 1, 2, '', '', now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (33, 2, '0,1,2', '用户删除', 4, NULL, '', NULL, 'sys:user:delete', NULL, NULL, 1, 3, '', '', now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (36, 0, '0', '组件封装', 2, NULL, '/component', 'Layout', NULL, NULL, NULL, 1, 10, 'menu', '', now(), now(), NULL);
INSERT INTO `sys_menu` VALUES (37, 36, '0,36', '富文本编辑器', 1, NULL, 'wang-editor', 'demo/wang-editor', NULL, NULL, 1, 1, 2, '', '', NULL, NULL, NULL);
-INSERT INTO `sys_menu` VALUES (38, 36, '0,36', '图片上传', 1, NULL, 'upload', 'demo/upload', NULL, NULL, 1, 1, 3, '', '', '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
-INSERT INTO `sys_menu` VALUES (39, 36, '0,36', '图标选择器', 1, NULL, 'icon-selector', 'demo/icon-selector', NULL, NULL, 1, 1, 4, '', '', '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
-INSERT INTO `sys_menu` VALUES (40, 0, '0', '接口文档', 2, NULL, '/api', 'Layout', NULL, 1, NULL, 1, 7, 'api', '', '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
-INSERT INTO `sys_menu` VALUES (41, 40, '0,40', 'Apifox', 1, NULL, 'apifox', 'demo/api/apifox', NULL, NULL, 1, 1, 1, 'api', '', '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
-INSERT INTO `sys_menu` VALUES (70, 3, '0,1,3', '角色新增', 4, NULL, '', NULL, 'sys:role:add', NULL, NULL, 1, 2, '', NULL, '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
-INSERT INTO `sys_menu` VALUES (71, 3, '0,1,3', '角色编辑', 4, NULL, '', NULL, 'sys:role:edit', NULL, NULL, 1, 3, '', NULL, '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
-INSERT INTO `sys_menu` VALUES (72, 3, '0,1,3', '角色删除', 4, NULL, '', NULL, 'sys:role:delete', NULL, NULL, 1, 4, '', NULL, '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
-INSERT INTO `sys_menu` VALUES (73, 4, '0,1,4', '菜单新增', 4, NULL, '', NULL, 'sys:menu:add', NULL, NULL, 1, 1, '', NULL, '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
-INSERT INTO `sys_menu` VALUES (74, 4, '0,1,4', '菜单编辑', 4, NULL, '', NULL, 'sys:menu:edit', NULL, NULL, 1, 3, '', NULL, '2024-10-05 23:36:04', '2024-10-05 23:36:04', NULL);
-INSERT INTO `sys_menu` VALUES (75, 4, '0,1,4', '菜单删除', 4, NULL, '', NULL, 'sys:menu:delete', NULL, NULL, 1, 3, '', NULL, '2024-10-05 23:36:04', '2024-10-05 23:36:04', NULL);
-INSERT INTO `sys_menu` VALUES (76, 5, '0,1,5', '部门新增', 4, NULL, '', NULL, 'sys:dept:add', NULL, NULL, 1, 1, '', NULL, '2024-10-05 23:36:04', '2024-10-05 23:36:04', NULL);
-INSERT INTO `sys_menu` VALUES (77, 5, '0,1,5', '部门编辑', 4, NULL, '', NULL, 'sys:dept:edit', NULL, NULL, 1, 2, '', NULL, '2024-10-05 23:36:04', '2024-10-05 23:36:04', NULL);
-INSERT INTO `sys_menu` VALUES (78, 5, '0,1,5', '部门删除', 4, NULL, '', NULL, 'sys:dept:delete', NULL, NULL, 1, 3, '', NULL, '2024-10-05 23:36:04', '2024-10-05 23:36:04', NULL);
-INSERT INTO `sys_menu` VALUES (79, 6, '0,1,6', '字典新增', 4, NULL, '', NULL, 'sys:dict:add', NULL, NULL, 1, 1, '', NULL, '2024-10-05 23:36:04', '2024-10-05 23:36:04', NULL);
-INSERT INTO `sys_menu` VALUES (81, 6, '0,1,6', '字典编辑', 4, NULL, '', NULL, 'sys:dict:edit', NULL, NULL, 1, 2, '', NULL, '2024-10-05 23:36:04', '2024-10-05 23:36:04', NULL);
-INSERT INTO `sys_menu` VALUES (84, 6, '0,1,6', '字典删除', 4, NULL, '', NULL, 'sys:dict:delete', NULL, NULL, 1, 3, '', NULL, '2024-10-05 23:36:04', '2024-10-05 23:36:04', NULL);
-INSERT INTO `sys_menu` VALUES (88, 2, '0,1,2', '重置密码', 4, NULL, '', NULL, 'sys:user:password:reset', NULL, NULL, 1, 4, '', NULL, '2024-10-05 23:36:04', '2024-10-05 23:36:04', NULL);
-INSERT INTO `sys_menu` VALUES (89, 0, '0', '功能演示', 2, NULL, '/function', 'Layout', NULL, NULL, NULL, 1, 12, 'menu', '', '2024-10-05 23:36:04', '2024-10-05 23:36:04', NULL);
-INSERT INTO `sys_menu` VALUES (90, 89, '0,89', 'Websocket', 1, NULL, '/function/websocket', 'demo/websocket', NULL, NULL, 1, 1, 3, '', '', '2024-10-05 23:36:04', '2024-10-05 23:36:04', NULL);
-INSERT INTO `sys_menu` VALUES (91, 89, '0,89', '敬请期待...', 2, NULL, 'other/:id', 'demo/other', NULL, NULL, NULL, 1, 4, '', '', '2024-10-05 23:36:05', '2024-10-05 23:36:05', NULL);
-INSERT INTO `sys_menu` VALUES (95, 36, '0,36', '字典组件', 1, NULL, 'dict-demo', 'demo/dictionary', NULL, NULL, 1, 1, 4, '', '', '2024-10-05 23:36:05', '2024-10-05 23:36:05', NULL);
-INSERT INTO `sys_menu` VALUES (97, 89, '0,89', 'Icons', 1, NULL, 'icon-demo', 'demo/icons', NULL, NULL, 1, 1, 2, 'el-icon-Notification', '', '2024-10-05 23:36:05', '2024-10-05 23:36:05', NULL);
-INSERT INTO `sys_menu` VALUES (102, 26, '0,26', 'document', 3, '', 'internal-doc', 'demo/internal-doc', NULL, NULL, NULL, 1, 1, 'document', '', '2024-10-05 23:36:05', '2024-10-05 23:36:05', NULL);
-INSERT INTO `sys_menu` VALUES (105, 2, '0,1,2', '用户查询', 4, NULL, '', NULL, 'sys:user:query', 0, 0, 1, 0, '', NULL, '2024-10-05 23:36:05', '2024-10-05 23:36:05', NULL);
-INSERT INTO `sys_menu` VALUES (106, 2, '0,1,2', '用户导入', 4, NULL, '', NULL, 'sys:user:import', NULL, NULL, 1, 5, '', NULL, '2024-10-05 23:36:05', '2024-10-05 23:36:05', NULL);
-INSERT INTO `sys_menu` VALUES (107, 2, '0,1,2', '用户导出', 4, NULL, '', NULL, 'sys:user:export', NULL, NULL, 1, 6, '', NULL, '2024-10-05 23:36:05', '2024-10-05 23:36:05', NULL);
+INSERT INTO `sys_menu` VALUES (38, 36, '0,36', '图片上传', 1, NULL, 'upload', 'demo/upload', NULL, NULL, 1, 1, 3, '', '', now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (39, 36, '0,36', '图标选择器', 1, NULL, 'icon-selector', 'demo/icon-selector', NULL, NULL, 1, 1, 4, '', '', now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (40, 0, '0', '接口文档', 2, NULL, '/api', 'Layout', NULL, 1, NULL, 1, 7, 'api', '', now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (41, 40, '0,40', 'Apifox', 1, NULL, 'apifox', 'demo/api/apifox', NULL, NULL, 1, 1, 1, 'api', '', now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (70, 3, '0,1,3', '角色新增', 4, NULL, '', NULL, 'sys:role:add', NULL, NULL, 1, 2, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (71, 3, '0,1,3', '角色编辑', 4, NULL, '', NULL, 'sys:role:edit', NULL, NULL, 1, 3, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (72, 3, '0,1,3', '角色删除', 4, NULL, '', NULL, 'sys:role:delete', NULL, NULL, 1, 4, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (73, 4, '0,1,4', '菜单新增', 4, NULL, '', NULL, 'sys:menu:add', NULL, NULL, 1, 1, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (74, 4, '0,1,4', '菜单编辑', 4, NULL, '', NULL, 'sys:menu:edit', NULL, NULL, 1, 3, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (75, 4, '0,1,4', '菜单删除', 4, NULL, '', NULL, 'sys:menu:delete', NULL, NULL, 1, 3, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (76, 5, '0,1,5', '部门新增', 4, NULL, '', NULL, 'sys:dept:add', NULL, NULL, 1, 1, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (77, 5, '0,1,5', '部门编辑', 4, NULL, '', NULL, 'sys:dept:edit', NULL, NULL, 1, 2, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (78, 5, '0,1,5', '部门删除', 4, NULL, '', NULL, 'sys:dept:delete', NULL, NULL, 1, 3, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (79, 6, '0,1,6', '字典新增', 4, NULL, '', NULL, 'sys:dict:add', NULL, NULL, 1, 1, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (81, 6, '0,1,6', '字典编辑', 4, NULL, '', NULL, 'sys:dict:edit', NULL, NULL, 1, 2, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (84, 6, '0,1,6', '字典删除', 4, NULL, '', NULL, 'sys:dict:delete', NULL, NULL, 1, 3, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (88, 2, '0,1,2', '重置密码', 4, NULL, '', NULL, 'sys:user:password:reset', NULL, NULL, 1, 4, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (89, 0, '0', '功能演示', 2, NULL, '/function', 'Layout', NULL, NULL, NULL, 1, 12, 'menu', '', now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (90, 89, '0,89', 'Websocket', 1, NULL, '/function/websocket', 'demo/websocket', NULL, NULL, 1, 1, 3, '', '', now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (91, 89, '0,89', '敬请期待...', 2, NULL, 'other/:id', 'demo/other', NULL, NULL, NULL, 1, 4, '', '', now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (95, 36, '0,36', '字典组件', 1, NULL, 'dict-demo', 'demo/dictionary', NULL, NULL, 1, 1, 4, '', '', now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (97, 89, '0,89', 'Icons', 1, NULL, 'icon-demo', 'demo/icons', NULL, NULL, 1, 1, 2, 'el-icon-Notification', '', now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (102, 26, '0,26', 'document', 3, '', 'internal-doc', 'demo/internal-doc', NULL, NULL, NULL, 1, 1, 'document', '', now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (105, 2, '0,1,2', '用户查询', 4, NULL, '', NULL, 'sys:user:query', 0, 0, 1, 0, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (106, 2, '0,1,2', '用户导入', 4, NULL, '', NULL, 'sys:user:import', NULL, NULL, 1, 5, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (107, 2, '0,1,2', '用户导出', 4, NULL, '', NULL, 'sys:user:export', NULL, NULL, 1, 6, '', NULL, now(), now(), NULL);
INSERT INTO `sys_menu` VALUES (108, 36, '0,36', '增删改查', 1, NULL, 'curd', 'demo/curd/index', NULL, NULL, 1, 1, 0, '', '', NULL, NULL, NULL);
INSERT INTO `sys_menu` VALUES (109, 36, '0,36', '列表选择器', 1, NULL, 'table-select', 'demo/table-select/index', NULL, NULL, 1, 1, 1, '', '', NULL, NULL, NULL);
-INSERT INTO `sys_menu` VALUES (110, 0, '0', '路由参数', 2, NULL, '/route-param', 'Layout', NULL, 1, 1, 1, 11, 'el-icon-ElementPlus', NULL, '2024-10-05 23:36:07', '2024-10-05 23:36:07', NULL);
-INSERT INTO `sys_menu` VALUES (111, 110, '0,110', '参数(type=1)', 1, NULL, 'route-param-type1', 'demo/route-param', NULL, 0, 1, 1, 1, 'el-icon-Star', NULL, '2024-10-05 23:36:07', '2024-10-05 23:36:07', '{\"type\": \"1\"}');
-INSERT INTO `sys_menu` VALUES (112, 110, '0,110', '参数(type=2)', 1, NULL, 'route-param-type2', 'demo/route-param', NULL, 0, 1, 1, 2, 'el-icon-StarFilled', NULL, '2024-10-05 23:36:07', '2024-10-05 23:36:07', '{\"type\": \"2\"}');
-INSERT INTO `sys_menu` VALUES (117, 1, '0,1', '系统日志', 1, 'Log', 'log', 'system/log/index', NULL, 0, 1, 1, 6, 'document', NULL, '2024-10-05 23:36:07', '2024-10-05 23:36:07', NULL);
-INSERT INTO `sys_menu` VALUES (118, 0, '0', '系统工具', 2, NULL, '/codegen', 'Layout', NULL, 0, 1, 1, 2, 'menu', NULL, '2024-10-05 23:36:07', '2024-10-05 23:36:07', NULL);
-INSERT INTO `sys_menu` VALUES (119, 118, '0,118', '代码生成', 1, 'Codegen', 'codegen', 'codegen/index', NULL, 0, 1, 1, 1, 'code', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (120, 1, '0,1', '系统配置', 1, 'Config', 'config', 'system/config/index', NULL, 0, 1, 1, 7, 'setting', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (121, 120, '0,1,120', '系统配置查询', 4, NULL, '', NULL, 'sys:config:query', 0, 1, 1, 1, '', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (122, 120, '0,1,120', '系统配置新增', 4, NULL, '', NULL, 'sys:config:add', 0, 1, 1, 2, '', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (123, 120, '0,1,120', '系统配置修改', 4, NULL, '', NULL, 'sys:config:update', 0, 1, 1, 3, '', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (124, 120, '0,1,120', '系统配置删除', 4, NULL, '', NULL, 'sys:config:delete', 0, 1, 1, 4, '', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (125, 120, '0,1,120', '系统配置刷新', 4, NULL, '', NULL, 'sys:config:refresh', 0, 1, 1, 5, '', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (126, 1, '0,1', '通知公告', 1, 'Notice', 'notice', 'system/notice/index', NULL, NULL, NULL, 1, 9, '', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (127, 126, '0,1,126', '通知查询', 4, NULL, '', NULL, 'sys:notice:query', NULL, NULL, 1, 1, '', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (128, 126, '0,1,126', '通知新增', 4, NULL, '', NULL, 'sys:notice:add', NULL, NULL, 1, 2, '', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (129, 126, '0,1,126', '通知编辑', 4, NULL, '', NULL, 'sys:notice:edit', NULL, NULL, 1, 3, '', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (130, 126, '0,1,126', '通知删除', 4, NULL, '', NULL, 'sys:notice:delete', NULL, NULL, 1, 4, '', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (133, 126, '0,1,126', '通知发布', 4, NULL, '', NULL, 'sys:notice:publish', 0, 1, 1, 5, '', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (134, 126, '0,1,126', '通知撤回', 4, NULL, '', NULL, 'sys:notice:revoke', 0, 1, 1, 6, '', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (135, 1, '0,1', '字典数据', 1, 'DictData', 'dict-data', 'system/dict/data', NULL, 0, 1, 0, 6, '', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (136, 135, '0,1,135', '字典数据新增', 4, NULL, '', NULL, 'sys:dict-data:add', NULL, NULL, 1, 2, '', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (137, 135, '0,1,135', '字典数据编辑', 4, NULL, '', NULL, 'sys:dict-data:edit', NULL, NULL, 1, 3, '', NULL, '2024-10-05 23:36:09', '2024-10-05 23:36:09', NULL);
-INSERT INTO `sys_menu` VALUES (138, 135, '0,1,135', '字典数据删除', 4, NULL, '', NULL, 'sys:dict-data:delete', NULL, NULL, 1, 4, '', NULL, '2024-10-05 23:36:09', '2024-10-05 23:36:09', NULL);
-INSERT INTO `sys_menu` VALUES (139, 3, '0,1,3', '角色查询', 4, NULL, '', NULL, 'sys:role:query', NULL, NULL, 1, 1, '', NULL, '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
-INSERT INTO `sys_menu` VALUES (140, 4, '0,1,4', '菜单查询', 4, NULL, '', NULL, 'sys:menu:query', NULL, NULL, 1, 1, '', NULL, '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
-INSERT INTO `sys_menu` VALUES (141, 5, '0,1,5', '部门查询', 4, NULL, '', NULL, 'sys:dept:query', NULL, NULL, 1, 1, '', NULL, '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
-INSERT INTO `sys_menu` VALUES (142, 6, '0,1,6', '字典查询', 4, NULL, '', NULL, 'sys:dict:query', NULL, NULL, 1, 1, '', NULL, '2024-10-05 23:36:04', '2024-10-05 23:36:04', NULL);
-INSERT INTO `sys_menu` VALUES (143, 135, '0,1,135', '字典数据查询', 4, NULL, '', NULL, 'sys:dict-data:query', NULL, NULL, 1, 1, '', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
+INSERT INTO `sys_menu` VALUES (110, 0, '0', '路由参数', 2, NULL, '/route-param', 'Layout', NULL, 1, 1, 1, 11, 'el-icon-ElementPlus', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (111, 110, '0,110', '参数(type=1)', 1, NULL, 'route-param-type1', 'demo/route-param', NULL, 0, 1, 1, 1, 'el-icon-Star', NULL, now(), now(), '{\"type\": \"1\"}');
+INSERT INTO `sys_menu` VALUES (112, 110, '0,110', '参数(type=2)', 1, NULL, 'route-param-type2', 'demo/route-param', NULL, 0, 1, 1, 2, 'el-icon-StarFilled', NULL, now(), now(), '{\"type\": \"2\"}');
+INSERT INTO `sys_menu` VALUES (117, 1, '0,1', '系统日志', 1, 'Log', 'log', 'system/log/index', NULL, 0, 1, 1, 6, 'document', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (118, 0, '0', '系统工具', 2, NULL, '/codegen', 'Layout', NULL, 0, 1, 1, 2, 'menu', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (119, 118, '0,118', '代码生成', 1, 'Codegen', 'codegen', 'codegen/index', NULL, 0, 1, 1, 1, 'code', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (120, 1, '0,1', '系统配置', 1, 'Config', 'config', 'system/config/index', NULL, 0, 1, 1, 7, 'setting', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (121, 120, '0,1,120', '系统配置查询', 4, NULL, '', NULL, 'sys:config:query', 0, 1, 1, 1, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (122, 120, '0,1,120', '系统配置新增', 4, NULL, '', NULL, 'sys:config:add', 0, 1, 1, 2, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (123, 120, '0,1,120', '系统配置修改', 4, NULL, '', NULL, 'sys:config:update', 0, 1, 1, 3, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (124, 120, '0,1,120', '系统配置删除', 4, NULL, '', NULL, 'sys:config:delete', 0, 1, 1, 4, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (125, 120, '0,1,120', '系统配置刷新', 4, NULL, '', NULL, 'sys:config:refresh', 0, 1, 1, 5, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (126, 1, '0,1', '通知公告', 1, 'Notice', 'notice', 'system/notice/index', NULL, NULL, NULL, 1, 9, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (127, 126, '0,1,126', '通知查询', 4, NULL, '', NULL, 'sys:notice:query', NULL, NULL, 1, 1, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (128, 126, '0,1,126', '通知新增', 4, NULL, '', NULL, 'sys:notice:add', NULL, NULL, 1, 2, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (129, 126, '0,1,126', '通知编辑', 4, NULL, '', NULL, 'sys:notice:edit', NULL, NULL, 1, 3, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (130, 126, '0,1,126', '通知删除', 4, NULL, '', NULL, 'sys:notice:delete', NULL, NULL, 1, 4, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (133, 126, '0,1,126', '通知发布', 4, NULL, '', NULL, 'sys:notice:publish', 0, 1, 1, 5, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (134, 126, '0,1,126', '通知撤回', 4, NULL, '', NULL, 'sys:notice:revoke', 0, 1, 1, 6, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (135, 1, '0,1', '字典数据', 1, 'DictData', 'dict-data', 'system/dict/data', NULL, 0, 1, 0, 6, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (136, 135, '0,1,135', '字典数据新增', 4, NULL, '', NULL, 'sys:dict-data:add', NULL, NULL, 1, 2, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (137, 135, '0,1,135', '字典数据编辑', 4, NULL, '', NULL, 'sys:dict-data:edit', NULL, NULL, 1, 3, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (138, 135, '0,1,135', '字典数据删除', 4, NULL, '', NULL, 'sys:dict-data:delete', NULL, NULL, 1, 4, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (139, 3, '0,1,3', '角色查询', 4, NULL, '', NULL, 'sys:role:query', NULL, NULL, 1, 1, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (140, 4, '0,1,4', '菜单查询', 4, NULL, '', NULL, 'sys:menu:query', NULL, NULL, 1, 1, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (141, 5, '0,1,5', '部门查询', 4, NULL, '', NULL, 'sys:dept:query', NULL, NULL, 1, 1, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (142, 6, '0,1,6', '字典查询', 4, NULL, '', NULL, 'sys:dict:query', NULL, NULL, 1, 1, '', NULL, now(), now(), NULL);
+INSERT INTO `sys_menu` VALUES (143, 135, '0,1,135', '字典数据查询', 4, NULL, '', NULL, 'sys:dict-data:query', NULL, NULL, 1, 1, '', NULL, now(), now(), NULL);
-- ----------------------------
-- Table structure for sys_role
@@ -220,36 +217,36 @@ INSERT INTO `sys_menu` VALUES (143, 135, '0,1,135', '字典数据查询', 4, NUL
DROP TABLE IF EXISTS `sys_role`;
CREATE TABLE `sys_role` (
`id` bigint NOT NULL AUTO_INCREMENT,
- `name` varchar(64) NOT NULL DEFAULT '' COMMENT '角色名称',
- `code` varchar(32) NOT NULL COMMENT '角色编码',
- `sort` int NULL DEFAULT NULL COMMENT '显示顺序',
- `status` tinyint(1) NULL DEFAULT 1 COMMENT '角色状态(1-正常 0-停用)',
- `data_scope` tinyint NULL DEFAULT NULL COMMENT '数据权限(0-所有数据 1-部门及子部门数据 2-本部门数据3-本人数据)',
- `create_by` bigint NULL DEFAULT NULL COMMENT '创建人 ID',
- `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
- `update_by` bigint NULL DEFAULT NULL COMMENT '更新人ID',
- `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
- `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识(0-未删除 1-已删除)',
+ `name` varchar(64) NOT NULL COMMENT '角色名称',
+ `code` varchar(32) NOT NULL COMMENT '角色编码',
+ `sort` int NULL COMMENT '显示顺序',
+ `status` tinyint(1) DEFAULT 1 COMMENT '角色状态(1-正常 0-停用)',
+ `data_scope` tinyint NULL COMMENT '数据权限(0-所有数据 1-部门及子部门数据 2-本部门数据3-本人数据)',
+ `create_by` bigint NULL COMMENT '创建人 ID',
+ `create_time` datetime NULL COMMENT '创建时间',
+ `update_by` bigint NULL COMMENT '更新人ID',
+ `update_time` datetime NULL COMMENT '更新时间',
+ `is_deleted` tinyint(1) DEFAULT 0 COMMENT '逻辑删除标识(0-未删除 1-已删除)',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_name`(`name` ASC) USING BTREE COMMENT '角色名称唯一索引',
UNIQUE INDEX `uk_code`(`code` ASC) USING BTREE COMMENT '角色编码唯一索引'
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色表' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '角色表';
-- ----------------------------
-- Records of sys_role
-- ----------------------------
-INSERT INTO `sys_role` VALUES (1, '超级管理员', 'ROOT', 1, 1, 0, NULL, '2021-05-21 14:56:51', NULL, '2018-12-23 16:00:00', 0);
-INSERT INTO `sys_role` VALUES (2, '系统管理员', 'ADMIN', 2, 1, 0, NULL, '2021-03-25 12:39:54', NULL, NULL, 0);
-INSERT INTO `sys_role` VALUES (3, '访问游客', 'GUEST', 3, 1, 2, NULL, '2021-05-26 15:49:05', NULL, '2019-05-05 16:00:00', 0);
-INSERT INTO `sys_role` VALUES (4, '系统管理员1', 'ADMIN1', 4, 1, 1, NULL, '2021-03-25 12:39:54', NULL, NULL, 0);
-INSERT INTO `sys_role` VALUES (5, '系统管理员2', 'ADMIN2', 5, 1, 1, NULL, '2021-03-25 12:39:54', NULL, NULL, 0);
-INSERT INTO `sys_role` VALUES (6, '系统管理员3', 'ADMIN3', 6, 1, 1, NULL, '2021-03-25 12:39:54', NULL, NULL, 0);
-INSERT INTO `sys_role` VALUES (7, '系统管理员4', 'ADMIN4', 7, 1, 1, NULL, '2021-03-25 12:39:54', NULL, NULL, 0);
-INSERT INTO `sys_role` VALUES (8, '系统管理员5', 'ADMIN5', 8, 1, 1, NULL, '2021-03-25 12:39:54', NULL, NULL, 0);
-INSERT INTO `sys_role` VALUES (9, '系统管理员6', 'ADMIN6', 9, 1, 1, NULL, '2021-03-25 12:39:54', NULL, NULL, 0);
-INSERT INTO `sys_role` VALUES (10, '系统管理员7', 'ADMIN7', 10, 1, 1, NULL, '2021-03-25 12:39:54', NULL, NULL, 0);
-INSERT INTO `sys_role` VALUES (11, '系统管理员8', 'ADMIN8', 11, 1, 1, NULL, '2021-03-25 12:39:54', NULL, NULL, 0);
-INSERT INTO `sys_role` VALUES (12, '系统管理员9', 'ADMIN9', 12, 1, 1, NULL, '2021-03-25 12:39:54', NULL, NULL, 0);
+INSERT INTO `sys_role` VALUES (1, '超级管理员', 'ROOT', 1, 1, 0, NULL, now(), NULL, now(), 0);
+INSERT INTO `sys_role` VALUES (2, '系统管理员', 'ADMIN', 2, 1, 0, NULL, now(), NULL, NULL, 0);
+INSERT INTO `sys_role` VALUES (3, '访问游客', 'GUEST', 3, 1, 2, NULL, now(), NULL, now(), 0);
+INSERT INTO `sys_role` VALUES (4, '系统管理员1', 'ADMIN1', 4, 1, 1, NULL, now(), NULL, NULL, 0);
+INSERT INTO `sys_role` VALUES (5, '系统管理员2', 'ADMIN2', 5, 1, 1, NULL, now(), NULL, NULL, 0);
+INSERT INTO `sys_role` VALUES (6, '系统管理员3', 'ADMIN3', 6, 1, 1, NULL, now(), NULL, NULL, 0);
+INSERT INTO `sys_role` VALUES (7, '系统管理员4', 'ADMIN4', 7, 1, 1, NULL, now(), NULL, NULL, 0);
+INSERT INTO `sys_role` VALUES (8, '系统管理员5', 'ADMIN5', 8, 1, 1, NULL, now(), NULL, NULL, 0);
+INSERT INTO `sys_role` VALUES (9, '系统管理员6', 'ADMIN6', 9, 1, 1, NULL, now(), NULL, NULL, 0);
+INSERT INTO `sys_role` VALUES (10, '系统管理员7', 'ADMIN7', 10, 1, 1, NULL, now(), NULL, NULL, 0);
+INSERT INTO `sys_role` VALUES (11, '系统管理员8', 'ADMIN8', 11, 1, 1, NULL, now(), NULL, NULL, 0);
+INSERT INTO `sys_role` VALUES (12, '系统管理员9', 'ADMIN9', 12, 1, 1, NULL, now(), NULL, NULL, 0);
-- ----------------------------
-- Table structure for sys_role_menu
@@ -259,7 +256,7 @@ CREATE TABLE `sys_role_menu` (
`role_id` bigint NOT NULL COMMENT '角色ID',
`menu_id` bigint NOT NULL COMMENT '菜单ID',
UNIQUE INDEX `uk_roleid_menuid`(`role_id` ASC, `menu_id` ASC) USING BTREE COMMENT '角色菜单唯一索引'
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色和菜单关联表' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '角色和菜单关联表';
-- ----------------------------
-- Records of sys_role_menu
@@ -346,37 +343,38 @@ INSERT INTO `sys_role_menu` VALUES (2, 140);
INSERT INTO `sys_role_menu` VALUES (2, 141);
INSERT INTO `sys_role_menu` VALUES (2, 142);
INSERT INTO `sys_role_menu` VALUES (2, 143);
+
-- ----------------------------
-- Table structure for sys_user
-- ----------------------------
DROP TABLE IF EXISTS `sys_user`;
CREATE TABLE `sys_user` (
- `id` int NOT NULL AUTO_INCREMENT,
- `username` varchar(64) DEFAULT NULL COMMENT '用户名',
- `nickname` varchar(64) DEFAULT NULL COMMENT '昵称',
- `gender` tinyint(1) NULL DEFAULT 1 COMMENT '性别((1-男 2-女 0-保密)',
- `password` varchar(100) DEFAULT NULL COMMENT '密码',
- `dept_id` int NULL DEFAULT NULL COMMENT '部门ID',
- `avatar` varchar(255) DEFAULT '' COMMENT '用户头像',
- `mobile` varchar(20) DEFAULT NULL COMMENT '联系方式',
- `status` tinyint(1) NULL DEFAULT 1 COMMENT '状态((1-正常 0-禁用)',
- `email` varchar(128) DEFAULT NULL COMMENT '用户邮箱',
- `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
- `create_by` bigint NULL DEFAULT NULL COMMENT '创建人ID',
- `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
- `update_by` bigint NULL DEFAULT NULL COMMENT '修改人ID',
- `is_deleted` tinyint(1) NULL DEFAULT 0 COMMENT '逻辑删除标识(0-未删除 1-已删除)',
- `openid` char(28) DEFAULT NULL COMMENT '微信 openid',
+ `id` bigint NOT NULL AUTO_INCREMENT,
+ `username` varchar(64) COMMENT '用户名',
+ `nickname` varchar(64) COMMENT '昵称',
+ `gender` tinyint(1) DEFAULT 1 COMMENT '性别((1-男 2-女 0-保密)',
+ `password` varchar(100) COMMENT '密码',
+ `dept_id` int COMMENT '部门ID',
+ `avatar` varchar(255) COMMENT '用户头像',
+ `mobile` varchar(20) COMMENT '联系方式',
+ `status` tinyint(1) DEFAULT 1 COMMENT '状态(1-正常 0-禁用)',
+ `email` varchar(128) COMMENT '用户邮箱',
+ `create_time` datetime COMMENT '创建时间',
+ `create_by` bigint COMMENT '创建人ID',
+ `update_time` datetime COMMENT '更新时间',
+ `update_by` bigint COMMENT '修改人ID',
+ `is_deleted` tinyint(1) DEFAULT 0 COMMENT '逻辑删除标识(0-未删除 1-已删除)',
+ `openid` char(28) COMMENT '微信 openid',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `login_name`(`username` ASC) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户信息表' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '用户信息表';
-- ----------------------------
-- Records of sys_user
-- ----------------------------
-INSERT INTO `sys_user` VALUES (1, 'root', '有来技术', 0, '$2a$10$xVWsNOhHrCxh5UbpCE7/HuJ.PAOKcYAqRxD2CO2nVnJS.IAXkr5aq', NULL, 'https://foruda.gitee.com/images/1723603502796844527/03cdca2a_716974.gif', '18812345677', 1, 'youlaitech@163.com', NULL, NULL, NULL, NULL, 0,NULL);
-INSERT INTO `sys_user` VALUES (2, 'admin', '系统管理员', 1, '$2a$10$xVWsNOhHrCxh5UbpCE7/HuJ.PAOKcYAqRxD2CO2nVnJS.IAXkr5aq', 1, 'https://foruda.gitee.com/images/1723603502796844527/03cdca2a_716974.gif', '18812345678', 1, '', '2019-10-10 13:41:22', NULL, '2022-07-31 12:39:30', NULL, 0,NULL);
-INSERT INTO `sys_user` VALUES (3, 'test', '测试小用户', 1, '$2a$10$xVWsNOhHrCxh5UbpCE7/HuJ.PAOKcYAqRxD2CO2nVnJS.IAXkr5aq', 3, 'https://foruda.gitee.com/images/1723603502796844527/03cdca2a_716974.gif', '18812345679', 1, 'youlaitech@163.com', '2021-06-05 01:31:29', NULL, '2021-06-05 01:31:29', NULL, 0,NULL);
+INSERT INTO `sys_user` VALUES (1, 'root', '有来技术', 0, '$2a$10$xVWsNOhHrCxh5UbpCE7/HuJ.PAOKcYAqRxD2CO2nVnJS.IAXkr5aq', NULL, 'https://foruda.gitee.com/images/1723603502796844527/03cdca2a_716974.gif', '18812345677', 1, 'youlaitech@163.com', now(), NULL, now(), NULL, 0,NULL);
+INSERT INTO `sys_user` VALUES (2, 'admin', '系统管理员', 1, '$2a$10$xVWsNOhHrCxh5UbpCE7/HuJ.PAOKcYAqRxD2CO2nVnJS.IAXkr5aq', 1, 'https://foruda.gitee.com/images/1723603502796844527/03cdca2a_716974.gif', '18812345678', 1, 'youlaitech@163.com', now(), NULL, now(), NULL, 0,NULL);
+INSERT INTO `sys_user` VALUES (3, 'test', '测试小用户', 1, '$2a$10$xVWsNOhHrCxh5UbpCE7/HuJ.PAOKcYAqRxD2CO2nVnJS.IAXkr5aq', 3, 'https://foruda.gitee.com/images/1723603502796844527/03cdca2a_716974.gif', '18812345679', 1, 'youlaitech@163.com', now(), NULL, now(), NULL, 0,NULL);
-- ----------------------------
-- Table structure for sys_user_role
@@ -386,7 +384,7 @@ CREATE TABLE `sys_user_role` (
`user_id` bigint NOT NULL COMMENT '用户ID',
`role_id` bigint NOT NULL COMMENT '角色ID',
PRIMARY KEY (`user_id`, `role_id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户和角色关联表' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '用户和角色关联表';
-- ----------------------------
-- Records of sys_user_role
@@ -402,26 +400,26 @@ INSERT INTO `sys_user_role` VALUES (3, 3);
DROP TABLE IF EXISTS `sys_log`;
CREATE TABLE `sys_log` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
- `module` varchar(50) CHARACTER SET utf8mb4 NOT NULL COMMENT '日志模块',
- `request_method` varchar(64) NOT NULL DEFAULT '' COMMENT '请求方式',
- `request_params` text COMMENT '请求参数(批量请求参数可能会超过text)',
- `response_content` mediumtext COMMENT '返回参数',
- `content` varchar(255) CHARACTER SET utf8mb4 NOT NULL COMMENT '日志内容',
- `request_uri` varchar(255) DEFAULT NULL COMMENT '请求路径',
- `method` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '方法名',
- `ip` varchar(45) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT 'IP地址',
- `province` varchar(100) DEFAULT NULL COMMENT '省份',
- `city` varchar(100) DEFAULT NULL COMMENT '城市',
- `execution_time` bigint DEFAULT NULL COMMENT '执行时间(ms)',
- `browser` varchar(100) DEFAULT NULL COMMENT '浏览器',
- `browser_version` varchar(100) DEFAULT NULL COMMENT '浏览器版本',
- `os` varchar(100) DEFAULT NULL COMMENT '终端系统',
- `create_by` bigint DEFAULT NULL COMMENT '创建人ID',
- `create_time` datetime DEFAULT NULL COMMENT '创建时间',
- `is_deleted` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标识(1-已删除 0-未删除)',
+ `module` varchar(50) NOT NULL COMMENT '日志模块',
+ `request_method` varchar(64) NOT NULL COMMENT '请求方式',
+ `request_params` text COMMENT '请求参数(批量请求参数可能会超过text)',
+ `response_content` mediumtext COMMENT '返回参数',
+ `content` varchar(255) NOT NULL COMMENT '日志内容',
+ `request_uri` varchar(255) COMMENT '请求路径',
+ `method` varchar(255) COMMENT '方法名',
+ `ip` varchar(45) COMMENT 'IP地址',
+ `province` varchar(100) COMMENT '省份',
+ `city` varchar(100) COMMENT '城市',
+ `execution_time` bigint COMMENT '执行时间(ms)',
+ `browser` varchar(100) COMMENT '浏览器',
+ `browser_version` varchar(100) COMMENT '浏览器版本',
+ `os` varchar(100) COMMENT '终端系统',
+ `create_by` bigint COMMENT '创建人ID',
+ `create_time` datetime COMMENT '创建时间',
+ `is_deleted` tinyint DEFAULT '0' COMMENT '逻辑删除标识(1-已删除 0-未删除)',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_create_time` (`create_time`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='系统日志表';
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COMMENT='系统日志表';
-- ----------------------------
-- Table structure for gen_config
@@ -429,19 +427,19 @@ CREATE TABLE `sys_log` (
DROP TABLE IF EXISTS `gen_config`;
CREATE TABLE `gen_config` (
`id` bigint NOT NULL AUTO_INCREMENT,
- `table_name` varchar(100) NOT NULL COMMENT '表名',
- `module_name` varchar(100) DEFAULT NULL COMMENT '模块名',
- `package_name` varchar(255) NOT NULL COMMENT '包名',
- `business_name` varchar(100) NOT NULL COMMENT '业务名',
- `entity_name` varchar(100) NOT NULL COMMENT '实体类名',
- `author` varchar(50) NOT NULL COMMENT '作者',
- `parent_menu_id` bigint DEFAULT NULL COMMENT '上级菜单ID,对应sys_menu的id ',
- `create_time` datetime DEFAULT NULL COMMENT '创建时间',
- `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
- `is_deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+ `table_name` varchar(100) NOT NULL COMMENT '表名',
+ `module_name` varchar(100) COMMENT '模块名',
+ `package_name` varchar(255) NOT NULL COMMENT '包名',
+ `business_name` varchar(100) NOT NULL COMMENT '业务名',
+ `entity_name` varchar(100) NOT NULL COMMENT '实体类名',
+ `author` varchar(50) NOT NULL COMMENT '作者',
+ `parent_menu_id` bigint COMMENT '上级菜单ID,对应sys_menu的id ',
+ `create_time` datetime COMMENT '创建时间',
+ `update_time` datetime COMMENT '更新时间',
+ `is_deleted` bit(1) DEFAULT b'0' COMMENT '是否删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_tablename` (`table_name`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='代码生成基础配置表';
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='代码生成基础配置表';
-- ----------------------------
-- Table structure for gen_field_config
@@ -450,26 +448,26 @@ DROP TABLE IF EXISTS `gen_field_config`;
CREATE TABLE `gen_field_config` (
`id` bigint NOT NULL AUTO_INCREMENT,
`config_id` bigint NOT NULL COMMENT '关联的配置ID',
- `column_name` varchar(100) DEFAULT NULL,
- `column_type` varchar(50) DEFAULT NULL,
- `column_length` int DEFAULT NULL,
- `field_name` varchar(100) NOT NULL COMMENT '字段名称',
- `field_type` varchar(100) DEFAULT NULL COMMENT '字段类型',
- `field_sort` int DEFAULT NULL COMMENT '字段排序',
- `field_comment` varchar(255) DEFAULT NULL COMMENT '字段描述',
- `max_length` int NULL DEFAULT NULL,
- `is_required` tinyint(1) DEFAULT NULL COMMENT '是否必填',
+ `column_name` varchar(100) ,
+ `column_type` varchar(50) ,
+ `column_length` int ,
+ `field_name` varchar(100) NOT NULL COMMENT '字段名称',
+ `field_type` varchar(100) COMMENT '字段类型',
+ `field_sort` int COMMENT '字段排序',
+ `field_comment` varchar(255) COMMENT '字段描述',
+ `max_length` int ,
+ `is_required` tinyint(1) COMMENT '是否必填',
`is_show_in_list` tinyint(1) DEFAULT '0' COMMENT '是否在列表显示',
`is_show_in_form` tinyint(1) DEFAULT '0' COMMENT '是否在表单显示',
`is_show_in_query` tinyint(1) DEFAULT '0' COMMENT '是否在查询条件显示',
- `query_type` tinyint DEFAULT NULL COMMENT '查询方式',
- `form_type` tinyint DEFAULT NULL COMMENT '表单类型',
- `dict_type` varchar(50) DEFAULT NULL COMMENT '字典类型',
- `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+ `query_type` tinyint COMMENT '查询方式',
+ `form_type` tinyint COMMENT '表单类型',
+ `dict_type` varchar(50) COMMENT '字典类型',
+ `create_time` datetime COMMENT '创建时间',
+ `update_time` datetime COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `config_id` (`config_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='代码生成字段配置表';
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='代码生成字段配置表';
-- ----------------------------
-- 系统配置表
@@ -480,11 +478,11 @@ CREATE TABLE `sys_config` (
`config_name` varchar(50) NOT NULL COMMENT '配置名称',
`config_key` varchar(50) NOT NULL COMMENT '配置key',
`config_value` varchar(100) NOT NULL COMMENT '配置值',
- `remark` varchar(255) DEFAULT NULL COMMENT '备注',
+ `remark` varchar(255) COMMENT '备注',
`create_time` datetime COMMENT '创建时间',
`create_by` bigint COMMENT '创建人ID',
- `update_time` datetime DEFAULT NULL COMMENT '更新时间',
- `update_by` bigint DEFAULT NULL COMMENT '更新人ID',
+ `update_time` datetime COMMENT '更新时间',
+ `update_by` bigint COMMENT '更新人ID',
`is_deleted` tinyint(4) DEFAULT '0' NOT NULL COMMENT '逻辑删除标识(0-未删除 1-已删除)',
PRIMARY KEY (`id`)
) ENGINE=InnoDB COMMENT='系统配置表';
@@ -497,42 +495,60 @@ INSERT INTO `sys_config` VALUES (1, '系统限流QPS', 'IP_QPS_THRESHOLD_LIMIT',
DROP TABLE IF EXISTS `sys_notice`;
CREATE TABLE `sys_notice` (
`id` bigint NOT NULL AUTO_INCREMENT,
- `title` varchar(50) DEFAULT NULL COMMENT '通知标题',
- `content` text COMMENT '通知内容',
+ `title` varchar(50) COMMENT '通知标题',
+ `content` text COMMENT '通知内容',
`type` tinyint NOT NULL COMMENT '通知类型(关联字典编码:notice_type)',
- `level` varchar(5) NOT NULL COMMENT '通知等级(字典code:notice_level)',
+ `level` varchar(5) NOT NULL COMMENT '通知等级(字典code:notice_level)',
`target_type` tinyint NOT NULL COMMENT '目标类型(1: 全体, 2: 指定)',
- `target_user_ids` varchar(255) DEFAULT NULL COMMENT '目标人ID集合(多个使用英文逗号,分割)',
- `publisher_id` bigint DEFAULT NULL COMMENT '发布人ID',
- `publish_status` tinyint NOT NULL DEFAULT '0' COMMENT '发布状态(0: 未发布, 1: 已发布, -1: 已撤回)',
- `publish_time` datetime DEFAULT NULL COMMENT '发布时间',
- `revoke_time` datetime DEFAULT NULL COMMENT '撤回时间',
+ `target_user_ids` varchar(255) COMMENT '目标人ID集合(多个使用英文逗号,分割)',
+ `publisher_id` bigint COMMENT '发布人ID',
+ `publish_status` tinyint DEFAULT '0' COMMENT '发布状态(0: 未发布, 1: 已发布, -1: 已撤回)',
+ `publish_time` datetime COMMENT '发布时间',
+ `revoke_time` datetime COMMENT '撤回时间',
`create_by` bigint NOT NULL COMMENT '创建人ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
- `update_by` bigint DEFAULT NULL COMMENT '更新人ID',
- `update_time` datetime DEFAULT NULL COMMENT '更新时间',
- `is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除(0: 未删除, 1: 已删除)',
+ `update_by` bigint COMMENT '更新人ID',
+ `update_time` datetime COMMENT '更新时间',
+ `is_deleted` tinyint(1) DEFAULT '0' COMMENT '是否删除(0: 未删除, 1: 已删除)',
PRIMARY KEY (`id`) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='通知公告表';
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='通知公告表';
+INSERT INTO `sys_notice` VALUES (1, 'v2.12.0 新增系统日志,访问趋势统计功能。', '1. 消息通知
2. 字典重构
3. 代码生成
', 1, 'L', 1, '2', 1, 1, now(), now(), 2, now(), 1, now(), 0);
+INSERT INTO `sys_notice` VALUES (2, 'v2.13.0 新增菜单搜索。', '1. 消息通知
2. 字典重构
3. 代码生成
', 1, 'L', 1, '2', 1, 1, now(), now(), 2, now(), 1, now(), 0);
+INSERT INTO `sys_notice` VALUES (3, 'v2.14.0 新增个人中心。', '1. 消息通知
2. 字典重构
3. 代码生成
', 1, 'L', 1, '2', 2, 1, now(), now(), 2, now(), 2, now(), 0);
+INSERT INTO `sys_notice` VALUES (4, 'v2.15.0 登录页面改造。', '1. 消息通知
2. 字典重构
3. 代码生成
', 1, 'L', 1, '2', 2, 1, now(), now(), 2, now(), 2, now(), 0);
+INSERT INTO `sys_notice` VALUES (5, 'v2.16.0 通知公告、字典翻译组件。', '1. 消息通知
2. 字典重构
3. 代码生成
', 1, 'L', 1, '2', 2, 1, now(), now(), 2, now(), 2, now(), 0);
+INSERT INTO `sys_notice` VALUES (6, '系统将于本周六凌晨 2 点进行维护,预计维护时间为 2 小时。', '1. 消息通知
2. 字典重构
3. 代码生成
', 2, 'H', 1, '2', 2, 1, now(), now(), 2, now(), 2, now(), 0);
+INSERT INTO `sys_notice` VALUES (7, '最近发现一些钓鱼邮件,请大家提高警惕,不要点击陌生链接。', '1. 消息通知
2. 字典重构
3. 代码生成
', 3, 'L', 1, '2', 2, 1, now(), now(), 2, now(), 2, now(), 0);
+INSERT INTO `sys_notice` VALUES (8, '国庆假期从 10 月 1 日至 10 月 7 日放假,共 7 天。', '1. 消息通知
2. 字典重构
3. 代码生成
', 4, 'L', 1, '2', 2, 1, now(), now(), 2, now(), 2, now(), 0);
+INSERT INTO `sys_notice` VALUES (9, '公司将在 10 月 15 日举办新产品发布会,敬请期待。', '公司将在 10 月 15 日举办新产品发布会,敬请期待。', 5, 'H', 1, '2', 2, 1, now(), now(), 2, now(), 2, now(), 0);
+INSERT INTO `sys_notice` VALUES (10, 'v2.16.1 版本发布。', 'v2.16.1 版本修复了 WebSocket 重复连接导致的后台线程阻塞问题,优化了通知公告。', 1, 'M', 1, '2', 2, 1, now(), now(), 2, now(), 2, now(), 0);
+
+-- ----------------------------
-- 用户通知公告表
+-- ----------------------------
DROP TABLE IF EXISTS `sys_user_notice`;
CREATE TABLE `sys_user_notice` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
`notice_id` bigint NOT NULL COMMENT '公共通知id',
`user_id` bigint NOT NULL COMMENT '用户id',
- `is_read` bigint NOT NULL DEFAULT '0' COMMENT '读取状态(0: 未读, 1: 已读)',
- `read_time` datetime DEFAULT NULL COMMENT '阅读时间',
+ `is_read` bigint DEFAULT '0' COMMENT '读取状态(0: 未读, 1: 已读)',
+ `read_time` datetime COMMENT '阅读时间',
`create_time` datetime NOT NULL COMMENT '创建时间',
- `update_time` datetime DEFAULT NULL COMMENT '更新时间',
- `is_deleted` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除(0: 未删除, 1: 已删除)',
+ `update_time` datetime COMMENT '更新时间',
+ `is_deleted` tinyint DEFAULT '0' COMMENT '逻辑删除(0: 未删除, 1: 已删除)',
PRIMARY KEY (`id`) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='用户通知公告表';
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户通知公告表';
+INSERT INTO `sys_user_notice` VALUES (1, 1, 2, 1, NULL, now(), now(), 0);
+INSERT INTO `sys_user_notice` VALUES (2, 2, 2, 1, NULL, now(), now(), 0);
+INSERT INTO `sys_user_notice` VALUES (3, 3, 2, 1, NULL, now(), now(), 0);
+INSERT INTO `sys_user_notice` VALUES (4, 4, 2, 1, NULL, now(), now(), 0);
+INSERT INTO `sys_user_notice` VALUES (5, 5, 2, 1, NULL, now(), now(), 0);
+INSERT INTO `sys_user_notice` VALUES (6, 6, 2, 1, NULL, now(), now(), 0);
+INSERT INTO `sys_user_notice` VALUES (7, 7, 2, 1, NULL, now(), now(), 0);
+INSERT INTO `sys_user_notice` VALUES (8, 8, 2, 1, NULL, now(), now(), 0);
+INSERT INTO `sys_user_notice` VALUES (9, 9, 2, 1, NULL, now(), now(), 0);
+INSERT INTO `sys_user_notice` VALUES (10, 10, 2, 1, NULL, now(), now(), 0);
-
-
-SET FOREIGN_KEY_CHECKS = 1;
-
- -- 提交事务
-COMMIT;
+SET FOREIGN_KEY_CHECKS = 1;
\ No newline at end of file
diff --git a/sql/mysql5/youlai_boot.sql b/sql/mysql5/youlai_boot.sql
deleted file mode 100644
index b9dbe911..00000000
--- a/sql/mysql5/youlai_boot.sql
+++ /dev/null
@@ -1,531 +0,0 @@
-
-# YouLai_Boot 数据库(MySQL 5.x)
-# Copyright (c) 2021-present, youlai.tech
-
--- ----------------------------
--- 1. 创建数据库
--- ----------------------------
-CREATE DATABASE IF NOT EXISTS youlai_boot DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
-
--- ----------------------------
--- 2. 创建表 && 数据初始化
--- ----------------------------
-use youlai_boot;
-
-SET NAMES utf8;
-SET FOREIGN_KEY_CHECKS = 0;
-
- -- 开启事务
-START TRANSACTION;
-
--- ----------------------------
--- Table structure for sys_config
--- ----------------------------
-DROP TABLE IF EXISTS `sys_config`;
-CREATE TABLE `sys_config` (
- `id` bigint NOT NULL AUTO_INCREMENT,
- `config_name` varchar(50) NOT NULL COMMENT '配置名称',
- `config_key` varchar(50) NOT NULL COMMENT '配置key',
- `config_value` varchar(100) NOT NULL COMMENT '配置值',
- `remark` varchar(255) DEFAULT NULL COMMENT '备注',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- `create_by` bigint NOT NULL COMMENT '创建人ID',
- `update_time` datetime DEFAULT NULL COMMENT '更新时间',
- `update_by` bigint DEFAULT NULL COMMENT '更新人ID',
- `is_deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '逻辑删除标识(0-未删除 1-已删除)',
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB COMMENT='系统配置';
-
-INSERT INTO `sys_config` VALUES (1, '系统限流QPS', 'IP_QPS_THRESHOLD_LIMIT', '10', '单个IP请求的最大每秒查询数(QPS)阈值Key', now(), 1, NULL, NULL, 0);
-
--- ----------------------------
--- Table structure for sys_dept
--- ----------------------------
-DROP TABLE IF EXISTS `sys_dept`;
-CREATE TABLE `sys_dept` (
- `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
- `name` varchar(100) NOT NULL DEFAULT '' COMMENT '部门名称',
- `code` varchar(100) NOT NULL COMMENT '部门编号',
- `parent_id` bigint NOT NULL DEFAULT 0 COMMENT '父节点id',
- `tree_path` varchar(255) NOT NULL DEFAULT '' COMMENT '父节点id路径',
- `sort` smallint NULL DEFAULT 0 COMMENT '显示顺序',
- `status` tinyint NOT NULL DEFAULT 1 COMMENT '状态(1-正常 0-禁用)',
- `create_by` bigint NULL DEFAULT NULL COMMENT '创建人ID',
- `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
- `update_by` bigint NULL DEFAULT NULL COMMENT '修改人ID',
- `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
- `is_deleted` tinyint NOT NULL DEFAULT 0 COMMENT '逻辑删除标识(1-已删除 0-未删除)',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `uk_code`(`code` ASC) USING BTREE COMMENT '部门编号唯一索引'
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '部门表' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of sys_dept
--- ----------------------------
-INSERT INTO `sys_dept` VALUES (1, '有来技术', 'YOULAI', 0, '0', 1, 1, 1, NULL, 1, '2024-06-24 23:48:59', 0);
-INSERT INTO `sys_dept` VALUES (2, '研发部门', 'RD001', 1, '0,1', 1, 1, 2, NULL, 2, '2022-04-19 12:46:37', 0);
-INSERT INTO `sys_dept` VALUES (3, '测试部门', 'QA001', 1, '0,1', 1, 1, 2, NULL, 2, '2022-04-19 12:46:37', 0);
-
--- ----------------------------
--- Table structure for sys_dict
--- ----------------------------
-DROP TABLE IF EXISTS `sys_dict`;
-CREATE TABLE `sys_dict` (
- `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键 ',
- `dict_code` varchar(50) DEFAULT '' COMMENT '字典编码',
- `name` varchar(50) DEFAULT '' COMMENT '类型编码',
- `status` tinyint(1) DEFAULT '0' COMMENT '状态(0:正常,1:禁用)',
- `remark` varchar(255) DEFAULT NULL COMMENT '备注',
- `create_time` datetime DEFAULT NULL COMMENT '创建时间',
- `update_time` datetime DEFAULT NULL COMMENT '更新时间',
- `is_deleted` tinyint DEFAULT '0' COMMENT '是否删除(0:未删除,1:已删除)',
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE=InnoDB ROW_FORMAT=DYNAMIC COMMENT='系统字典表';
-
--- ----------------------------
--- Records of sys_dict
--- ----------------------------
-INSERT INTO `sys_dict` VALUES (1, 'gender', '性别', 1, NULL, now() , now(), 0);
-INSERT INTO `sys_dict` VALUES (2, 'notice_type', '通知类型', 1, NULL, now(), now(), 0);
-INSERT INTO `sys_dict` VALUES (3, 'notice_level', '通知级别', 1, NULL, now(), now(), 0);
-
-
--- ----------------------------
--- Table structure for sys_dict_data
--- ----------------------------
-DROP TABLE IF EXISTS `sys_dict_data`;
-CREATE TABLE `sys_dict_data` (
- `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
- `dict_code` varchar(50) DEFAULT NULL COMMENT '关联字典编码,与sys_dict表中的dict_code对应',
- `value` varchar(50) DEFAULT '' COMMENT '字典项值',
- `label` varchar(100) DEFAULT '' COMMENT '字典项标签',
- `tag_type` varchar(50) COLLATE utf8_general_ci DEFAULT NULL COMMENT '标签类型,用于前端样式展示(如success、warning等)',
- `status` tinyint DEFAULT '0' COMMENT '状态(1-正常,0-禁用)',
- `sort` int DEFAULT '0' COMMENT '排序',
- `remark` varchar(255) DEFAULT '' COMMENT '备注',
- `create_time` datetime DEFAULT NULL COMMENT '创建时间',
- `update_time` datetime DEFAULT NULL COMMENT '更新时间',
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE=InnoDB ROW_FORMAT=DYNAMIC COMMENT='字典数据表';
-
--- ----------------------------
--- Records of sys_dict_data
--- ----------------------------
-INSERT INTO `sys_dict_data` VALUES (1, 'gender', '1', '男', 'primary', 1, 1, NULL, now(), now());
-INSERT INTO `sys_dict_data` VALUES (2, 'gender', '2', '女', 'danger', 1, 2, NULL, now(), now());
-INSERT INTO `sys_dict_data` VALUES (3, 'gender', '0', '保密', 'info', 1, 3, NULL, now(), now());
-INSERT INTO `sys_dict_data` VALUES (4, 'notice_type', '1', '系统升级', 'success', 1, 1, '', now(), now());
-INSERT INTO `sys_dict_data` VALUES (5, 'notice_type', '2', '系统维护', 'primary', 1, 2, '', now(), now());
-INSERT INTO `sys_dict_data` VALUES (6, 'notice_type', '3', '安全警告', 'danger', 1, 3, '', now(), now());
-INSERT INTO `sys_dict_data` VALUES (7, 'notice_type', '4', '假期通知', 'success', 1, 4, '', now(), now());
-INSERT INTO `sys_dict_data` VALUES (8, 'notice_type', '5', '公司新闻', 'primary', 1, 5, '', now(), now());
-INSERT INTO `sys_dict_data` VALUES (9, 'notice_type', '99', '其他', 'info', 1, 99, '', now(), now());
-INSERT INTO `sys_dict_data` VALUES (10, 'notice_level', 'L', '低', 'info', 1, 1, '', now(), now());
-INSERT INTO `sys_dict_data` VALUES (11, 'notice_level', 'M', '中', 'warning', 1, 2, '', now(), now());
-INSERT INTO `sys_dict_data` VALUES (12, 'notice_level', 'H', '高', 'danger', 1, 3, '', now(), now());
-
--- ----------------------------
--- Table structure for sys_log
--- ----------------------------
-DROP TABLE IF EXISTS `sys_log`;
-CREATE TABLE `sys_log` (
- `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
- `module` varchar(50) NOT NULL COMMENT '日志模块',
- `request_method` varchar(64) NOT NULL DEFAULT '' COMMENT '请求方式',
- `request_params` text COMMENT '请求参数(批量请求参数可能会超过text)',
- `response_content` mediumtext COMMENT '返回参数',
- `content` varchar(255) NOT NULL COMMENT '日志内容',
- `request_uri` varchar(255) DEFAULT NULL COMMENT '请求路径',
- `method` varchar(255) DEFAULT NULL COMMENT '方法名',
- `ip` varchar(45) DEFAULT NULL COMMENT 'IP地址',
- `province` varchar(100) DEFAULT NULL COMMENT '省份',
- `city` varchar(100) DEFAULT NULL COMMENT '城市',
- `execution_time` bigint DEFAULT NULL COMMENT '执行时间(ms)',
- `browser` varchar(100) DEFAULT NULL COMMENT '浏览器',
- `browser_version` varchar(100) DEFAULT NULL COMMENT '浏览器版本',
- `os` varchar(100) DEFAULT NULL COMMENT '终端系统',
- `create_by` bigint DEFAULT NULL COMMENT '创建人ID',
- `create_time` datetime DEFAULT NULL COMMENT '创建时间',
- `is_deleted` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标识(1-已删除 0-未删除)',
- PRIMARY KEY (`id`) USING BTREE,
- KEY `idx_create_time` (`create_time`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci ROW_FORMAT=DYNAMIC COMMENT='系统日志表';
-
--- ----------------------------
--- Table structure for sys_menu
--- ----------------------------
-DROP TABLE IF EXISTS `sys_menu`;
-CREATE TABLE `sys_menu` (
- `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `parent_id` bigint NOT NULL COMMENT '父菜单ID',
- `tree_path` varchar(255) NULL DEFAULT NULL COMMENT '父节点ID路径',
- `name` varchar(64) NOT NULL DEFAULT '' COMMENT '菜单名称',
- `type` tinyint NOT NULL COMMENT '菜单类型(1-菜单 2-目录 3-外链 4-按钮)',
- `route_name` varchar(255) NULL DEFAULT NULL COMMENT '路由名称(Vue Router 中用于命名路由)',
- `route_path` varchar(128) NULL DEFAULT '' COMMENT '路由路径(Vue Router 中定义的 URL 路径)',
- `component` varchar(128) NULL DEFAULT NULL COMMENT '组件路径(组件页面完整路径,相对于 src/views/,缺省后缀 .vue)',
- `perm` varchar(128) NULL DEFAULT NULL COMMENT '【按钮】权限标识',
- `always_show` tinyint NULL DEFAULT 0 COMMENT '【目录】只有一个子路由是否始终显示(1-是 0-否)',
- `keep_alive` tinyint NULL DEFAULT 0 COMMENT '【菜单】是否开启页面缓存(1-是 0-否)',
- `visible` tinyint(1) NOT NULL DEFAULT 1 COMMENT '显示状态(1-显示 0-隐藏)',
- `sort` int NULL DEFAULT 0 COMMENT '排序',
- `icon` varchar(64) NULL DEFAULT '' COMMENT '菜单图标',
- `redirect` varchar(128) NULL DEFAULT NULL COMMENT '跳转路径',
- `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
- `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
- `params` json NULL COMMENT '路由参数',
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '菜单管理' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of sys_menu
--- ----------------------------
-INSERT INTO `sys_menu` VALUES (1, 0, '0', '系统管理', 2, '', '/system', 'Layout', NULL, NULL, NULL, 1, 1, 'system', '/system/user', '2024-10-05 23:35:58', '2024-10-05 23:35:58', NULL);
-INSERT INTO `sys_menu` VALUES (2, 1, '0,1', '用户管理', 1, 'User', 'user', 'system/user/index', NULL, NULL, 1, 1, 1, 'el-icon-User', NULL, '2024-10-05 23:35:59', '2024-10-05 23:35:59', NULL);
-INSERT INTO `sys_menu` VALUES (3, 1, '0,1', '角色管理', 1, 'Role', 'role', 'system/role/index', NULL, NULL, 1, 1, 2, 'role', NULL, '2024-10-05 23:36:00', '2024-10-05 23:36:00', NULL);
-INSERT INTO `sys_menu` VALUES (4, 1, '0,1', '菜单管理', 1, 'SysMenu', 'menu', 'system/menu/index', NULL, NULL, 1, 1, 3, 'menu', NULL, '2024-10-05 23:36:01', '2024-10-05 23:36:01', NULL);
-INSERT INTO `sys_menu` VALUES (5, 1, '0,1', '部门管理', 1, 'Dept', 'dept', 'system/dept/index', NULL, NULL, 1, 1, 4, 'tree', NULL, '2024-10-05 23:36:02', '2024-10-05 23:36:02', NULL);
-INSERT INTO `sys_menu` VALUES (6, 1, '0,1', '字典管理', 1, 'Dict', 'dict', 'system/dict/index', NULL, NULL, 1, 1, 5, 'dict', NULL, '2024-10-05 23:36:02', '2024-10-05 23:36:02', NULL);
-INSERT INTO `sys_menu` VALUES (20, 0, '0', '多级菜单', 2, NULL, '/multi-level', 'Layout', NULL, 1, NULL, 1, 9, 'cascader', '', '2024-10-05 23:36:02', '2024-10-05 23:36:02', NULL);
-INSERT INTO `sys_menu` VALUES (21, 20, '0,20', '菜单一级', 1, NULL, 'multi-level1', 'demo/multi-level/level1', NULL, 1, NULL, 1, 1, '', '', '2024-10-05 23:36:02', '2024-10-05 23:36:02', NULL);
-INSERT INTO `sys_menu` VALUES (22, 21, '0,20,21', '菜单二级', 1, NULL, 'multi-level2', 'demo/multi-level/children/level2', NULL, 0, NULL, 1, 1, '', NULL, '2024-10-05 23:36:02', '2024-10-05 23:36:02', NULL);
-INSERT INTO `sys_menu` VALUES (23, 22, '0,20,21,22', '菜单三级-1', 1, NULL, 'multi-level3-1', 'demo/multi-level/children/children/level3-1', NULL, 0, 1, 1, 1, '', '', '2024-10-05 23:36:02', '2024-10-05 23:36:02', NULL);
-INSERT INTO `sys_menu` VALUES (24, 22, '0,20,21,22', '菜单三级-2', 1, NULL, 'multi-level3-2', 'demo/multi-level/children/children/level3-2', NULL, 0, 1, 1, 2, '', '', '2024-10-05 23:36:02', '2024-10-05 23:36:02', NULL);
-INSERT INTO `sys_menu` VALUES (26, 0, '0', '平台文档', 2, '', '/doc', 'Layout', NULL, NULL, NULL, 1, 8, 'document', 'https://juejin.cn/post/7228990409909108793', '2024-10-05 23:36:02', '2024-10-05 23:36:02', NULL);
-INSERT INTO `sys_menu` VALUES (30, 26, '0,26', '平台文档(外链)', 3, NULL, 'https://juejin.cn/post/7228990409909108793', '', NULL, NULL, NULL, 1, 2, 'link', '', '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
-INSERT INTO `sys_menu` VALUES (31, 2, '0,1,2', '用户新增', 4, NULL, '', NULL, 'sys:user:add', NULL, NULL, 1, 1, '', '', '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
-INSERT INTO `sys_menu` VALUES (32, 2, '0,1,2', '用户编辑', 4, NULL, '', NULL, 'sys:user:edit', NULL, NULL, 1, 2, '', '', '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
-INSERT INTO `sys_menu` VALUES (33, 2, '0,1,2', '用户删除', 4, NULL, '', NULL, 'sys:user:delete', NULL, NULL, 1, 3, '', '', '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
-INSERT INTO `sys_menu` VALUES (36, 0, '0', '组件封装', 2, NULL, '/component', 'Layout', NULL, NULL, NULL, 1, 10, 'menu', '', '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
-INSERT INTO `sys_menu` VALUES (37, 36, '0,36', '富文本编辑器', 1, NULL, 'wang-editor', 'demo/wang-editor', NULL, NULL, 1, 1, 2, '', '', NULL, NULL, NULL);
-INSERT INTO `sys_menu` VALUES (38, 36, '0,36', '图片上传', 1, NULL, 'upload', 'demo/upload', NULL, NULL, 1, 1, 3, '', '', '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
-INSERT INTO `sys_menu` VALUES (39, 36, '0,36', '图标选择器', 1, NULL, 'icon-selector', 'demo/icon-selector', NULL, NULL, 1, 1, 4, '', '', '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
-INSERT INTO `sys_menu` VALUES (40, 0, '0', '接口文档', 2, NULL, '/api', 'Layout', NULL, 1, NULL, 1, 7, 'api', '', '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
-INSERT INTO `sys_menu` VALUES (41, 40, '0,40', 'Apifox', 1, NULL, 'apifox', 'demo/api/apifox', NULL, NULL, 1, 1, 1, 'api', '', '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
-INSERT INTO `sys_menu` VALUES (70, 3, '0,1,3', '角色新增', 4, NULL, '', NULL, 'sys:role:add', NULL, NULL, 1, 2, '', NULL, '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
-INSERT INTO `sys_menu` VALUES (71, 3, '0,1,3', '角色编辑', 4, NULL, '', NULL, 'sys:role:edit', NULL, NULL, 1, 3, '', NULL, '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
-INSERT INTO `sys_menu` VALUES (72, 3, '0,1,3', '角色删除', 4, NULL, '', NULL, 'sys:role:delete', NULL, NULL, 1, 4, '', NULL, '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
-INSERT INTO `sys_menu` VALUES (73, 4, '0,1,4', '菜单新增', 4, NULL, '', NULL, 'sys:menu:add', NULL, NULL, 1, 1, '', NULL, '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
-INSERT INTO `sys_menu` VALUES (74, 4, '0,1,4', '菜单编辑', 4, NULL, '', NULL, 'sys:menu:edit', NULL, NULL, 1, 3, '', NULL, '2024-10-05 23:36:04', '2024-10-05 23:36:04', NULL);
-INSERT INTO `sys_menu` VALUES (75, 4, '0,1,4', '菜单删除', 4, NULL, '', NULL, 'sys:menu:delete', NULL, NULL, 1, 3, '', NULL, '2024-10-05 23:36:04', '2024-10-05 23:36:04', NULL);
-INSERT INTO `sys_menu` VALUES (76, 5, '0,1,5', '部门新增', 4, NULL, '', NULL, 'sys:dept:add', NULL, NULL, 1, 1, '', NULL, '2024-10-05 23:36:04', '2024-10-05 23:36:04', NULL);
-INSERT INTO `sys_menu` VALUES (77, 5, '0,1,5', '部门编辑', 4, NULL, '', NULL, 'sys:dept:edit', NULL, NULL, 1, 2, '', NULL, '2024-10-05 23:36:04', '2024-10-05 23:36:04', NULL);
-INSERT INTO `sys_menu` VALUES (78, 5, '0,1,5', '部门删除', 4, NULL, '', NULL, 'sys:dept:delete', NULL, NULL, 1, 3, '', NULL, '2024-10-05 23:36:04', '2024-10-05 23:36:04', NULL);
-INSERT INTO `sys_menu` VALUES (79, 6, '0,1,6', '字典新增', 4, NULL, '', NULL, 'sys:dict:add', NULL, NULL, 1, 1, '', NULL, '2024-10-05 23:36:04', '2024-10-05 23:36:04', NULL);
-INSERT INTO `sys_menu` VALUES (81, 6, '0,1,6', '字典编辑', 4, NULL, '', NULL, 'sys:dict:edit', NULL, NULL, 1, 2, '', NULL, '2024-10-05 23:36:04', '2024-10-05 23:36:04', NULL);
-INSERT INTO `sys_menu` VALUES (84, 6, '0,1,6', '字典删除', 4, NULL, '', NULL, 'sys:dict:delete', NULL, NULL, 1, 3, '', NULL, '2024-10-05 23:36:04', '2024-10-05 23:36:04', NULL);
-INSERT INTO `sys_menu` VALUES (88, 2, '0,1,2', '重置密码', 4, NULL, '', NULL, 'sys:user:password:reset', NULL, NULL, 1, 4, '', NULL, '2024-10-05 23:36:04', '2024-10-05 23:36:04', NULL);
-INSERT INTO `sys_menu` VALUES (89, 0, '0', '功能演示', 2, NULL, '/function', 'Layout', NULL, NULL, NULL, 1, 12, 'menu', '', '2024-10-05 23:36:04', '2024-10-05 23:36:04', NULL);
-INSERT INTO `sys_menu` VALUES (90, 89, '0,89', 'Websocket', 1, NULL, '/function/websocket', 'demo/websocket', NULL, NULL, 1, 1, 3, '', '', '2024-10-05 23:36:04', '2024-10-05 23:36:04', NULL);
-INSERT INTO `sys_menu` VALUES (91, 89, '0,89', '敬请期待...', 2, NULL, 'other/:id', 'demo/other', NULL, NULL, NULL, 1, 4, '', '', '2024-10-05 23:36:05', '2024-10-05 23:36:05', NULL);
-INSERT INTO `sys_menu` VALUES (95, 36, '0,36', '字典组件', 1, NULL, 'dict-demo', 'demo/dictionary', NULL, NULL, 1, 1, 4, '', '', '2024-10-05 23:36:05', '2024-10-05 23:36:05', NULL);
-INSERT INTO `sys_menu` VALUES (97, 89, '0,89', 'Icons', 1, NULL, 'icon-demo', 'demo/icons', NULL, NULL, 1, 1, 2, 'el-icon-Notification', '', '2024-10-05 23:36:05', '2024-10-05 23:36:05', NULL);
-INSERT INTO `sys_menu` VALUES (102, 26, '0,26', 'document', 3, '', 'internal-doc', 'demo/internal-doc', NULL, NULL, NULL, 1, 1, 'document', '', '2024-10-05 23:36:05', '2024-10-05 23:36:05', NULL);
-INSERT INTO `sys_menu` VALUES (105, 2, '0,1,2', '用户查询', 4, NULL, '', NULL, 'sys:user:query', 0, 0, 1, 0, '', NULL, '2024-10-05 23:36:05', '2024-10-05 23:36:05', NULL);
-INSERT INTO `sys_menu` VALUES (106, 2, '0,1,2', '用户导入', 4, NULL, '', NULL, 'sys:user:import', NULL, NULL, 1, 5, '', NULL, '2024-10-05 23:36:05', '2024-10-05 23:36:05', NULL);
-INSERT INTO `sys_menu` VALUES (107, 2, '0,1,2', '用户导出', 4, NULL, '', NULL, 'sys:user:export', NULL, NULL, 1, 6, '', NULL, '2024-10-05 23:36:05', '2024-10-05 23:36:05', NULL);
-INSERT INTO `sys_menu` VALUES (108, 36, '0,36', '增删改查', 1, NULL, 'curd', 'demo/curd/index', NULL, NULL, 1, 1, 0, '', '', NULL, NULL, NULL);
-INSERT INTO `sys_menu` VALUES (109, 36, '0,36', '列表选择器', 1, NULL, 'table-select', 'demo/table-select/index', NULL, NULL, 1, 1, 1, '', '', NULL, NULL, NULL);
-INSERT INTO `sys_menu` VALUES (110, 0, '0', '路由参数', 2, NULL, '/route-param', 'Layout', NULL, 1, 1, 1, 11, 'el-icon-ElementPlus', NULL, '2024-10-05 23:36:07', '2024-10-05 23:36:07', NULL);
-INSERT INTO `sys_menu` VALUES (111, 110, '0,110', '参数(type=1)', 1, NULL, 'route-param-type1', 'demo/route-param', NULL, 0, 1, 1, 1, 'el-icon-Star', NULL, '2024-10-05 23:36:07', '2024-10-05 23:36:07', '{\"type\": \"1\"}');
-INSERT INTO `sys_menu` VALUES (112, 110, '0,110', '参数(type=2)', 1, NULL, 'route-param-type2', 'demo/route-param', NULL, 0, 1, 1, 2, 'el-icon-StarFilled', NULL, '2024-10-05 23:36:07', '2024-10-05 23:36:07', '{\"type\": \"2\"}');
-INSERT INTO `sys_menu` VALUES (117, 1, '0,1', '系统日志', 1, 'Log', 'log', 'system/log/index', NULL, 0, 1, 1, 6, 'document', NULL, '2024-10-05 23:36:07', '2024-10-05 23:36:07', NULL);
-INSERT INTO `sys_menu` VALUES (118, 0, '0', '系统工具', 2, NULL, '/codegen', 'Layout', NULL, 0, 1, 1, 2, 'menu', NULL, '2024-10-05 23:36:07', '2024-10-05 23:36:07', NULL);
-INSERT INTO `sys_menu` VALUES (119, 118, '0,118', '代码生成', 1, 'Codegen', 'codegen', 'codegen/index', NULL, 0, 1, 1, 1, 'code', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (120, 1, '0,1', '系统配置', 1, 'Config', 'config', 'system/config/index', NULL, 0, 1, 1, 7, 'setting', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (121, 120, '0,1,120', '系统配置查询', 4, NULL, '', NULL, 'sys:config:query', 0, 1, 1, 1, '', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (122, 120, '0,1,120', '系统配置新增', 4, NULL, '', NULL, 'sys:config:add', 0, 1, 1, 2, '', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (123, 120, '0,1,120', '系统配置修改', 4, NULL, '', NULL, 'sys:config:update', 0, 1, 1, 3, '', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (124, 120, '0,1,120', '系统配置删除', 4, NULL, '', NULL, 'sys:config:delete', 0, 1, 1, 4, '', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (125, 120, '0,1,120', '系统配置刷新', 4, NULL, '', NULL, 'sys:config:refresh', 0, 1, 1, 5, '', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (126, 1, '0,1', '通知公告', 1, 'Notice', 'notice', 'system/notice/index', NULL, NULL, NULL, 1, 9, '', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (127, 126, '0,1,126', '通知查询', 4, NULL, '', NULL, 'sys:notice:query', NULL, NULL, 1, 1, '', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (128, 126, '0,1,126', '通知新增', 4, NULL, '', NULL, 'sys:notice:add', NULL, NULL, 1, 2, '', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (129, 126, '0,1,126', '通知编辑', 4, NULL, '', NULL, 'sys:notice:edit', NULL, NULL, 1, 3, '', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (130, 126, '0,1,126', '通知删除', 4, NULL, '', NULL, 'sys:notice:delete', NULL, NULL, 1, 4, '', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (133, 126, '0,1,126', '通知发布', 4, NULL, '', NULL, 'sys:notice:publish', 0, 1, 1, 5, '', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (134, 126, '0,1,126', '通知撤回', 4, NULL, '', NULL, 'sys:notice:revoke', 0, 1, 1, 6, '', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (135, 1, '0,1', '字典数据', 1, 'DictData', 'dict-data', 'system/dict/data', NULL, 0, 1, 0, 6, '', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (136, 135, '0,1,135', '字典数据新增', 4, NULL, '', NULL, 'sys:dict-data:add', NULL, NULL, 1, 2, '', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-INSERT INTO `sys_menu` VALUES (137, 135, '0,1,135', '字典数据编辑', 4, NULL, '', NULL, 'sys:dict-data:edit', NULL, NULL, 1, 3, '', NULL, '2024-10-05 23:36:09', '2024-10-05 23:36:09', NULL);
-INSERT INTO `sys_menu` VALUES (138, 135, '0,1,135', '字典数据删除', 4, NULL, '', NULL, 'sys:dict-data:delete', NULL, NULL, 1, 4, '', NULL, '2024-10-05 23:36:09', '2024-10-05 23:36:09', NULL);
-INSERT INTO `sys_menu` VALUES (139, 3, '0,1,3', '角色查询', 4, NULL, '', NULL, 'sys:role:query', NULL, NULL, 1, 1, '', NULL, '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
-INSERT INTO `sys_menu` VALUES (140, 4, '0,1,4', '菜单查询', 4, NULL, '', NULL, 'sys:menu:query', NULL, NULL, 1, 1, '', NULL, '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
-INSERT INTO `sys_menu` VALUES (141, 5, '0,1,5', '部门查询', 4, NULL, '', NULL, 'sys:dept:query', NULL, NULL, 1, 1, '', NULL, '2024-10-05 23:36:03', '2024-10-05 23:36:03', NULL);
-INSERT INTO `sys_menu` VALUES (142, 6, '0,1,6', '字典查询', 4, NULL, '', NULL, 'sys:dict:query', NULL, NULL, 1, 1, '', NULL, '2024-10-05 23:36:04', '2024-10-05 23:36:04', NULL);
-INSERT INTO `sys_menu` VALUES (143, 135, '0,1,135', '字典数据查询', 4, NULL, '', NULL, 'sys:dict-data:query', NULL, NULL, 1, 1, '', NULL, '2024-10-05 23:36:08', '2024-10-05 23:36:08', NULL);
-
--- ----------------------------
--- Table structure for sys_role
--- ----------------------------
-DROP TABLE IF EXISTS `sys_role`;
-CREATE TABLE `sys_role` (
- `id` bigint NOT NULL AUTO_INCREMENT,
- `name` varchar(64) NOT NULL DEFAULT '' COMMENT '角色名称',
- `code` varchar(32) NOT NULL COMMENT '角色编码',
- `sort` int NULL DEFAULT NULL COMMENT '显示顺序',
- `status` tinyint(1) NULL DEFAULT 1 COMMENT '角色状态(1-正常 0-停用)',
- `data_scope` tinyint NULL DEFAULT NULL COMMENT '数据权限(0-所有数据 1-部门及子部门数据 2-本部门数据3-本人数据)',
- `create_by` bigint NULL DEFAULT NULL COMMENT '创建人 ID',
- `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
- `update_by` bigint NULL DEFAULT NULL COMMENT '更新人ID',
- `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
- `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识(0-未删除 1-已删除)',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `uk_name`(`name` ASC) USING BTREE COMMENT '角色名称唯一索引',
- UNIQUE INDEX `uk_code`(`code` ASC) USING BTREE COMMENT '角色编码唯一索引'
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色表' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of sys_role
--- ----------------------------
-INSERT INTO `sys_role` VALUES (1, '超级管理员', 'ROOT', 1, 1, 0, NULL, '2021-05-21 14:56:51', NULL, '2018-12-23 16:00:00', 0);
-INSERT INTO `sys_role` VALUES (2, '系统管理员', 'ADMIN', 2, 1, 0, NULL, '2021-03-25 12:39:54', NULL, NULL, 0);
-INSERT INTO `sys_role` VALUES (3, '访问游客', 'GUEST', 3, 1, 2, NULL, '2021-05-26 15:49:05', NULL, '2019-05-05 16:00:00', 0);
-INSERT INTO `sys_role` VALUES (4, '系统管理员1', 'ADMIN1', 4, 1, 1, NULL, '2021-03-25 12:39:54', NULL, NULL, 0);
-INSERT INTO `sys_role` VALUES (5, '系统管理员2', 'ADMIN2', 5, 1, 1, NULL, '2021-03-25 12:39:54', NULL, NULL, 0);
-INSERT INTO `sys_role` VALUES (6, '系统管理员3', 'ADMIN3', 6, 1, 1, NULL, '2021-03-25 12:39:54', NULL, NULL, 0);
-INSERT INTO `sys_role` VALUES (7, '系统管理员4', 'ADMIN4', 7, 1, 1, NULL, '2021-03-25 12:39:54', NULL, NULL, 0);
-INSERT INTO `sys_role` VALUES (8, '系统管理员5', 'ADMIN5', 8, 1, 1, NULL, '2021-03-25 12:39:54', NULL, NULL, 0);
-INSERT INTO `sys_role` VALUES (9, '系统管理员6', 'ADMIN6', 9, 1, 1, NULL, '2021-03-25 12:39:54', NULL, NULL, 0);
-INSERT INTO `sys_role` VALUES (10, '系统管理员7', 'ADMIN7', 10, 1, 1, NULL, '2021-03-25 12:39:54', NULL, NULL, 0);
-INSERT INTO `sys_role` VALUES (11, '系统管理员8', 'ADMIN8', 11, 1, 1, NULL, '2021-03-25 12:39:54', NULL, NULL, 0);
-INSERT INTO `sys_role` VALUES (12, '系统管理员9', 'ADMIN9', 12, 1, 1, NULL, '2021-03-25 12:39:54', NULL, NULL, 0);
-
--- ----------------------------
--- Table structure for sys_role_menu
--- ----------------------------
-DROP TABLE IF EXISTS `sys_role_menu`;
-CREATE TABLE `sys_role_menu` (
- `role_id` bigint NOT NULL COMMENT '角色ID',
- `menu_id` bigint NOT NULL COMMENT '菜单ID',
- UNIQUE INDEX `uk_roleid_menuid`(`role_id` ASC, `menu_id` ASC) USING BTREE COMMENT '角色菜单唯一索引'
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色和菜单关联表' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of sys_role_menu
--- ----------------------------
-INSERT INTO `sys_role_menu` VALUES (2, 1);
-INSERT INTO `sys_role_menu` VALUES (2, 2);
-INSERT INTO `sys_role_menu` VALUES (2, 3);
-INSERT INTO `sys_role_menu` VALUES (2, 4);
-INSERT INTO `sys_role_menu` VALUES (2, 5);
-INSERT INTO `sys_role_menu` VALUES (2, 6);
-INSERT INTO `sys_role_menu` VALUES (2, 20);
-INSERT INTO `sys_role_menu` VALUES (2, 21);
-INSERT INTO `sys_role_menu` VALUES (2, 22);
-INSERT INTO `sys_role_menu` VALUES (2, 23);
-INSERT INTO `sys_role_menu` VALUES (2, 24);
-INSERT INTO `sys_role_menu` VALUES (2, 26);
-INSERT INTO `sys_role_menu` VALUES (2, 30);
-INSERT INTO `sys_role_menu` VALUES (2, 31);
-INSERT INTO `sys_role_menu` VALUES (2, 32);
-INSERT INTO `sys_role_menu` VALUES (2, 33);
-INSERT INTO `sys_role_menu` VALUES (2, 36);
-INSERT INTO `sys_role_menu` VALUES (2, 37);
-INSERT INTO `sys_role_menu` VALUES (2, 38);
-INSERT INTO `sys_role_menu` VALUES (2, 39);
-INSERT INTO `sys_role_menu` VALUES (2, 40);
-INSERT INTO `sys_role_menu` VALUES (2, 41);
-INSERT INTO `sys_role_menu` VALUES (2, 70);
-INSERT INTO `sys_role_menu` VALUES (2, 71);
-INSERT INTO `sys_role_menu` VALUES (2, 72);
-INSERT INTO `sys_role_menu` VALUES (2, 73);
-INSERT INTO `sys_role_menu` VALUES (2, 74);
-INSERT INTO `sys_role_menu` VALUES (2, 75);
-INSERT INTO `sys_role_menu` VALUES (2, 76);
-INSERT INTO `sys_role_menu` VALUES (2, 77);
-INSERT INTO `sys_role_menu` VALUES (2, 78);
-INSERT INTO `sys_role_menu` VALUES (2, 79);
-INSERT INTO `sys_role_menu` VALUES (2, 81);
-INSERT INTO `sys_role_menu` VALUES (2, 84);
-INSERT INTO `sys_role_menu` VALUES (2, 85);
-INSERT INTO `sys_role_menu` VALUES (2, 86);
-INSERT INTO `sys_role_menu` VALUES (2, 87);
-INSERT INTO `sys_role_menu` VALUES (2, 88);
-INSERT INTO `sys_role_menu` VALUES (2, 89);
-INSERT INTO `sys_role_menu` VALUES (2, 90);
-INSERT INTO `sys_role_menu` VALUES (2, 91);
-INSERT INTO `sys_role_menu` VALUES (2, 95);
-INSERT INTO `sys_role_menu` VALUES (2, 97);
-INSERT INTO `sys_role_menu` VALUES (2, 102);
-INSERT INTO `sys_role_menu` VALUES (2, 105);
-INSERT INTO `sys_role_menu` VALUES (2, 106);
-INSERT INTO `sys_role_menu` VALUES (2, 107);
-INSERT INTO `sys_role_menu` VALUES (2, 108);
-INSERT INTO `sys_role_menu` VALUES (2, 109);
-INSERT INTO `sys_role_menu` VALUES (2, 110);
-INSERT INTO `sys_role_menu` VALUES (2, 111);
-INSERT INTO `sys_role_menu` VALUES (2, 112);
-INSERT INTO `sys_role_menu` VALUES (2, 114);
-INSERT INTO `sys_role_menu` VALUES (2, 115);
-INSERT INTO `sys_role_menu` VALUES (2, 116);
-INSERT INTO `sys_role_menu` VALUES (2, 117);
-INSERT INTO `sys_role_menu` VALUES (2, 118);
-INSERT INTO `sys_role_menu` VALUES (2, 119);
-INSERT INTO `sys_role_menu` VALUES (2, 120);
-INSERT INTO `sys_role_menu` VALUES (2, 121);
-INSERT INTO `sys_role_menu` VALUES (2, 122);
-INSERT INTO `sys_role_menu` VALUES (2, 123);
-INSERT INTO `sys_role_menu` VALUES (2, 124);
-INSERT INTO `sys_role_menu` VALUES (2, 125);
-INSERT INTO `sys_role_menu` VALUES (2, 126);
-INSERT INTO `sys_role_menu` VALUES (2, 127);
-INSERT INTO `sys_role_menu` VALUES (2, 128);
-INSERT INTO `sys_role_menu` VALUES (2, 129);
-INSERT INTO `sys_role_menu` VALUES (2, 130);
-INSERT INTO `sys_role_menu` VALUES (2, 131);
-INSERT INTO `sys_role_menu` VALUES (2, 132);
-INSERT INTO `sys_role_menu` VALUES (2, 133);
-INSERT INTO `sys_role_menu` VALUES (2, 134);
-INSERT INTO `sys_role_menu` VALUES (2, 135);
-INSERT INTO `sys_role_menu` VALUES (2, 136);
-INSERT INTO `sys_role_menu` VALUES (2, 137);
-INSERT INTO `sys_role_menu` VALUES (2, 138);
-INSERT INTO `sys_role_menu` VALUES (2, 139);
-INSERT INTO `sys_role_menu` VALUES (2, 140);
-INSERT INTO `sys_role_menu` VALUES (2, 141);
-INSERT INTO `sys_role_menu` VALUES (2, 142);
-INSERT INTO `sys_role_menu` VALUES (2, 143);
-
--- ----------------------------
--- Table structure for sys_user
--- ----------------------------
-DROP TABLE IF EXISTS `sys_user`;
-CREATE TABLE `sys_user` (
- `id` int NOT NULL AUTO_INCREMENT,
- `username` varchar(64) NULL DEFAULT NULL COMMENT '用户名',
- `nickname` varchar(64) NULL DEFAULT NULL COMMENT '昵称',
- `gender` tinyint(1) NULL DEFAULT 1 COMMENT '性别((1-男 2-女 0-保密)',
- `password` varchar(100) NULL DEFAULT NULL COMMENT '密码',
- `dept_id` int NULL DEFAULT NULL COMMENT '部门ID',
- `avatar` varchar(255) NULL DEFAULT '' COMMENT '用户头像',
- `mobile` varchar(20) NULL DEFAULT NULL COMMENT '联系方式',
- `status` tinyint(1) NULL DEFAULT 1 COMMENT '状态((1-正常 0-禁用)',
- `email` varchar(128) NULL DEFAULT NULL COMMENT '用户邮箱',
- `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
- `create_by` bigint NULL DEFAULT NULL COMMENT '创建人ID',
- `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
- `update_by` bigint NULL DEFAULT NULL COMMENT '修改人ID',
- `is_deleted` tinyint(1) NULL DEFAULT 0 COMMENT '逻辑删除标识(0-未删除 1-已删除)',
- `openid` char(28) DEFAULT NULL COMMENT '微信 openid',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `login_name`(`username` ASC) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户信息表' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of sys_user
--- ----------------------------
-INSERT INTO `sys_user` VALUES (1, 'root', '有来技术', 0, '$2a$10$xVWsNOhHrCxh5UbpCE7/HuJ.PAOKcYAqRxD2CO2nVnJS.IAXkr5aq', NULL, 'https://foruda.gitee.com/images/1723603502796844527/03cdca2a_716974.gif', '18812345677', 1, 'youlaitech@163.com', NULL, NULL, NULL, NULL, 0,NULL);
-INSERT INTO `sys_user` VALUES (2, 'admin', '系统管理员', 1, '$2a$10$xVWsNOhHrCxh5UbpCE7/HuJ.PAOKcYAqRxD2CO2nVnJS.IAXkr5aq', 1, 'https://foruda.gitee.com/images/1723603502796844527/03cdca2a_716974.gif', '18812345678', 1, '', '2019-10-10 13:41:22', NULL, '2022-07-31 12:39:30', NULL, 0,NULL);
-INSERT INTO `sys_user` VALUES (3, 'test', '测试小用户', 1, '$2a$10$xVWsNOhHrCxh5UbpCE7/HuJ.PAOKcYAqRxD2CO2nVnJS.IAXkr5aq', 3, 'https://foruda.gitee.com/images/1723603502796844527/03cdca2a_716974.gif', '18812345679', 1, 'youlaitech@163.com', '2021-06-05 01:31:29', NULL, '2021-06-05 01:31:29', NULL, 0,NULL);
-
--- ----------------------------
--- Table structure for sys_user_role
--- ----------------------------
-DROP TABLE IF EXISTS `sys_user_role`;
-CREATE TABLE `sys_user_role` (
- `user_id` bigint NOT NULL COMMENT '用户ID',
- `role_id` bigint NOT NULL COMMENT '角色ID',
- PRIMARY KEY (`user_id`, `role_id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户和角色关联表' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of sys_user_role
--- ----------------------------
-INSERT INTO `sys_user_role` VALUES (1, 1);
-INSERT INTO `sys_user_role` VALUES (2, 2);
-INSERT INTO `sys_user_role` VALUES (3, 3);
-
--- ----------------------------
--- Table structure for gen_config
--- ----------------------------
-DROP TABLE IF EXISTS `gen_config`;
-CREATE TABLE `gen_config` (
- `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
- `table_name` varchar(100) NOT NULL COMMENT '表名',
- `module_name` varchar(100) DEFAULT NULL COMMENT '模块名',
- `package_name` varchar(255) NOT NULL COMMENT '包名',
- `business_name` varchar(100) NOT NULL COMMENT '业务名',
- `entity_name` varchar(100) NOT NULL COMMENT '实体类名',
- `author` varchar(50) NOT NULL COMMENT '作者',
- `parent_menu_id` bigint DEFAULT NULL COMMENT '上级菜单ID,对应sys_menu的id ',
- `create_time` datetime DEFAULT NULL COMMENT '创建时间',
- `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
- `is_deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_tablename` (`table_name`)
-) ENGINE=InnoDB COMMENT='代码生成基础配置表';
-
--- ----------------------------
--- Table structure for gen_field_config
--- ----------------------------
-DROP TABLE IF EXISTS `gen_field_config`;
-CREATE TABLE `gen_field_config` (
- `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
- `config_id` bigint NOT NULL COMMENT '关联的配置ID',
- `column_name` varchar(100) DEFAULT NULL,
- `column_type` varchar(50) DEFAULT NULL,
- `column_length` int DEFAULT NULL,
- `field_name` varchar(100) NOT NULL COMMENT '字段名称',
- `field_type` varchar(100) DEFAULT NULL COMMENT '字段类型',
- `field_sort` int DEFAULT NULL COMMENT '字段排序',
- `field_comment` varchar(255) DEFAULT NULL COMMENT '字段描述',
- `max_length` int NULL DEFAULT NULL,
- `is_required` tinyint(1) DEFAULT NULL COMMENT '是否必填',
- `is_show_in_list` tinyint(1) DEFAULT '0' COMMENT '是否在列表显示',
- `is_show_in_form` tinyint(1) DEFAULT '0' COMMENT '是否在表单显示',
- `is_show_in_query` tinyint(1) DEFAULT '0' COMMENT '是否在查询条件显示',
- `query_type` tinyint DEFAULT NULL COMMENT '查询方式',
- `form_type` tinyint DEFAULT NULL COMMENT '表单类型',
- `dict_type` varchar(50) NULL DEFAULT NULL COMMENT '字典类型',
- `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
- PRIMARY KEY (`id`),
- KEY `config_id` (`config_id`)
-) ENGINE=InnoDB COMMENT='代码生成字段配置表';
-
--- ----------------------------
--- Table structure for sys_user_notice
--- ----------------------------
-DROP TABLE IF EXISTS `sys_user_notice`;
-CREATE TABLE `sys_user_notice` (
- `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
- `notice_id` bigint NOT NULL COMMENT '公共通知id',
- `user_id` bigint NOT NULL COMMENT '用户id',
- `is_read` bigint NOT NULL DEFAULT 0 COMMENT '读取状态(0未读;1已读)',
- `read_time` datetime DEFAULT NULL COMMENT '阅读时间',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- `update_time` datetime DEFAULT NULL COMMENT '更新时间',
- `is_deleted` tinyint NOT NULL DEFAULT 0 COMMENT '逻辑删除(1-已删除;0-未删除)',
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE=InnoDB COMMENT='用户通知公告表';
-
--- ----------------------------
--- Table structure for sys_notice
--- ----------------------------
-DROP TABLE IF EXISTS `sys_notice`;
-CREATE TABLE `sys_notice` (
- `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
- `title` varchar(50) DEFAULT NULL COMMENT '通知标题',
- `content` text COMMENT '通知内容',
- `type` tinyint NOT NULL COMMENT '通知类型(字典code:notice_type)',
- `level` varchar(5) NOT NULL COMMENT '通知等级(字典code:notice_level)',
- `target_type` tinyint NOT NULL COMMENT '目标类型(1: 全体, 2: 指定)',
- `target_user_ids` varchar(255) DEFAULT NULL COMMENT '目标人ID集合(多个使用英文逗号,分割)',
- `publisher_id` bigint DEFAULT NULL COMMENT '发布人ID',
- `publish_status` tinyint NOT NULL DEFAULT '0' COMMENT '发布状态(0: 未发布, 1: 已发布, -1: 已撤回)',
- `publish_time` datetime DEFAULT NULL COMMENT '发布时间',
- `revoke_time` datetime DEFAULT NULL COMMENT '撤回时间',
- `create_by` bigint NOT NULL COMMENT '创建人ID',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- `update_by` bigint DEFAULT NULL COMMENT '更新人ID',
- `update_time` datetime DEFAULT NULL COMMENT '更新时间',
- `is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除(0: 未删除, 1: 已删除)',
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE=InnoDB COMMENT='通知公告表';
-
-SET FOREIGN_KEY_CHECKS = 1;
-
- -- 提交事务
-COMMIT;
diff --git a/src/main/java/com/youlai/boot/common/exception/BusinessException.java b/src/main/java/com/youlai/boot/common/exception/BusinessException.java
index c74ae972..06467091 100644
--- a/src/main/java/com/youlai/boot/common/exception/BusinessException.java
+++ b/src/main/java/com/youlai/boot/common/exception/BusinessException.java
@@ -20,6 +20,13 @@ public class BusinessException extends RuntimeException {
this.resultCode = errorCode;
}
+
+ public BusinessException(IResultCode errorCode,String message) {
+ super(message);
+ this.resultCode = errorCode;
+ }
+
+
public BusinessException(String message, Throwable cause) {
super(message, cause);
}
diff --git a/src/main/java/com/youlai/boot/common/exception/GlobalExceptionHandler.java b/src/main/java/com/youlai/boot/common/exception/GlobalExceptionHandler.java
index 2021dbd9..cf7722a8 100644
--- a/src/main/java/com/youlai/boot/common/exception/GlobalExceptionHandler.java
+++ b/src/main/java/com/youlai/boot/common/exception/GlobalExceptionHandler.java
@@ -30,7 +30,6 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
-
/**
* 全局系统异常处理器
*
@@ -219,9 +218,9 @@ public class GlobalExceptionHandler {
@ExceptionHandler(BusinessException.class)
@ResponseStatus(HttpStatus.BAD_REQUEST)
public Result handleBizException(BusinessException e) {
- log.error("biz exception: {}", e.getMessage());
+ log.error("biz exception", e);
if (e.getResultCode() != null) {
- return Result.failed(e.getResultCode());
+ return Result.failed(e.getResultCode(), e.getMessage());
}
return Result.failed(e.getMessage());
}
@@ -239,8 +238,7 @@ public class GlobalExceptionHandler {
|| e instanceof AuthenticationException) {
throw e;
}
- log.error("unknown exception: {}", e.getMessage());
- e.printStackTrace();
+ log.error("unknown exception", e);
return Result.failed(e.getLocalizedMessage());
}
diff --git a/src/main/java/com/youlai/boot/common/result/IResultCode.java b/src/main/java/com/youlai/boot/common/result/IResultCode.java
index 479639e3..741d604a 100644
--- a/src/main/java/com/youlai/boot/common/result/IResultCode.java
+++ b/src/main/java/com/youlai/boot/common/result/IResultCode.java
@@ -3,8 +3,8 @@ package com.youlai.boot.common.result;
/**
* 响应码接口
*
- * @author Ray
- * @since 2022/2/18
+ * @author Ray.Hao
+ * @since 1.0.0
**/
public interface IResultCode {
diff --git a/src/main/java/com/youlai/boot/common/result/ResultCode.java b/src/main/java/com/youlai/boot/common/result/ResultCode.java
index 73ab7752..4f046f6e 100644
--- a/src/main/java/com/youlai/boot/common/result/ResultCode.java
+++ b/src/main/java/com/youlai/boot/common/result/ResultCode.java
@@ -42,7 +42,7 @@ public enum ResultCode implements IResultCode, Serializable {
VOICE_VERIFICATION_CODE_INPUT_ERROR("A0133", "语音校验码输入错误"),
USER_CERTIFICATE_EXCEPTION("A0140", "用户证件异常"),
- USER_CERTIFICATE_TYPE_NOT_SELECTED("A0141", "用户证��类型未选择"),
+ USER_CERTIFICATE_TYPE_NOT_SELECTED("A0141", "用户证件类型未选择"),
MAINLAND_ID_NUMBER_VERIFICATION_ILLEGAL("A0142", "大陆身份证编号校验非法"),
USER_BASIC_INFORMATION_VERIFICATION_FAILED("A0150", "用户基本信息校验失败"),
@@ -67,7 +67,7 @@ public enum ResultCode implements IResultCode, Serializable {
REFRESH_TOKEN_INVALID("A0231", "刷新令牌无效或已过期"),
// 验证码错误
- USER_VERIFICATION_CODE_ERROR("A0240", "用户验证码错误"),
+ USER_VERIFICATION_CODE_ERROR("A0240", "验证码错误"),
USER_VERIFICATION_CODE_ATTEMPT_LIMIT_EXCEEDED("A0241", "用户验证码尝试次数超限"),
USER_VERIFICATION_CODE_EXPIRED("A0242", "用户验证码过期"),
@@ -127,12 +127,14 @@ public enum ResultCode implements IResultCode, Serializable {
USER_RESOURCE_NOT_FOUND("A0606", "用户资源不存在"),
/** 二级宏观错误码 */
- USER_UPLOAD_FILE_EXCEPTION("A0700", "用户上传文件异常"),
- USER_UPLOAD_FILE_TYPE_MISMATCH("A0701", "用户上传文件类型不匹配"),
- USER_UPLOAD_FILE_TOO_LARGE("A0702", "用户上传文件太大"),
- USER_UPLOAD_IMAGE_TOO_LARGE("A0703", "用户上传图片太大"),
- USER_UPLOAD_VIDEO_TOO_LARGE("A0704", "用户上传视频太大"),
- USER_UPLOAD_COMPRESSED_FILE_TOO_LARGE("A0705", "用户上传压缩文件太大"),
+ UPLOAD_FILE_EXCEPTION("A0700", "上传文件异常"),
+ UPLOAD_FILE_TYPE_MISMATCH("A0701", "上传文件类型不匹配"),
+ UPLOAD_FILE_TOO_LARGE("A0702", "上传文件太大"),
+ UPLOAD_IMAGE_TOO_LARGE("A0703", "上传图片太大"),
+ UPLOAD_VIDEO_TOO_LARGE("A0704", "上传视频太大"),
+ UPLOAD_COMPRESSED_FILE_TOO_LARGE("A0705", "上传压缩文件太大"),
+
+ DELETE_FILE_EXCEPTION("A0710", "删除文件异常"),
/** 二级宏观错误码 */
USER_CURRENT_VERSION_EXCEPTION("A0800", "用户当前版本异常"),
diff --git a/src/main/java/com/youlai/boot/config/CaffeineConfig.java b/src/main/java/com/youlai/boot/config/CaffeineConfig.java
new file mode 100644
index 00000000..bba14491
--- /dev/null
+++ b/src/main/java/com/youlai/boot/config/CaffeineConfig.java
@@ -0,0 +1,37 @@
+package com.youlai.boot.config;
+
+import com.github.benmanes.caffeine.cache.Caffeine;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.cache.CacheManager;
+import org.springframework.cache.caffeine.CaffeineCacheManager;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * caffeine缓存配置
+ *
+ * @author Theo
+ * @since 2025-01-22 17:40:23
+ */
+@Slf4j
+@Configuration
+public class CaffeineConfig {
+
+ @Value("${spring.cache.caffeine.spec}")
+ private String caffeineSpec;
+
+ /**
+ * 缓存管理器
+ *
+ * @return CacheManager 缓存管理器
+ */
+ @Bean
+ public CacheManager cacheManager() {
+ CaffeineCacheManager caffeineCacheManager = new CaffeineCacheManager();
+ Caffeine