diff --git a/docs/sql/mysql5.x/youlai.sql b/docs/sql/mysql5.x/youlai.sql index 75b5065f45c8d5400732847ce0f77469676600eb..6a925d178c2ea7397d0f5627b86835bb72dca719 100644 --- a/docs/sql/mysql5.x/youlai.sql +++ b/docs/sql/mysql5.x/youlai.sql @@ -1,10 +1,20 @@ /* -* 系统管理表 -* MySQL5.x版本 -* Date: 14/06/2022 23:20:50 + Navicat Premium Data Transfer + + Source Server : localhost5.7 + Source Server Type : MySQL + Source Server Version : 50739 + Source Host : localhost:3307 + Source Schema : youlai + + Target Server Type : MySQL + Target Server Version : 50739 + File Encoding : 65001 + + Date: 19/09/2022 01:07:09 */ -SET NAMES utf8; +SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- @@ -12,16 +22,16 @@ SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- DROP TABLE IF EXISTS `sys_dept`; CREATE TABLE `sys_dept` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', - `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '部门名称', - `parent_id` bigint NULL DEFAULT 0 COMMENT '父节点id', - `tree_path` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '父节点id路径', - `sort` int NULL DEFAULT 0 COMMENT '显示顺序', - `status` tinyint NULL DEFAULT 1 COMMENT '状态(1:正常;0:禁用)', - `deleted` tinyint NULL DEFAULT 0 COMMENT '逻辑删除标识(1:已删除;0:未删除)', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (`id`) USING BTREE + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '部门名称', + `parent_id` bigint(20) NULL DEFAULT 0 COMMENT '父节点id', + `tree_path` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '父节点id路径', + `sort` int(11) NULL DEFAULT 0 COMMENT '显示顺序', + `status` tinyint(4) NULL DEFAULT 1 COMMENT '状态(1:正常;0:禁用)', + `deleted` tinyint(4) NULL DEFAULT 0 COMMENT '逻辑删除标识(1:已删除;0:未删除)', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 47 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '部门表' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -36,17 +46,17 @@ INSERT INTO `sys_dept` VALUES (3, '测试部门', 1, '0,1', 2, 1, 0, NULL, NULL) -- ---------------------------- DROP TABLE IF EXISTS `sys_dict_item`; CREATE TABLE `sys_dict_item` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', - `type_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '字典类型编码', - `name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '字典项名称', - `value` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '字典项值', - `sort` int NULL DEFAULT 0 COMMENT '排序', - `status` tinyint NULL DEFAULT 0 COMMENT '状态(1:正常;0:禁用)', - `defaulted` tinyint NULL DEFAULT 0 COMMENT '是否默认(1:是;0:否)', - `remark` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '备注', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (`id`) USING BTREE + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `type_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '字典类型编码', + `name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '字典项名称', + `value` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '字典项值', + `sort` int(11) NULL DEFAULT 0 COMMENT '排序', + `status` tinyint(4) NULL DEFAULT 0 COMMENT '状态(1:正常;0:禁用)', + `defaulted` tinyint(4) NULL DEFAULT 0 COMMENT '是否默认(1:是;0:否)', + `remark` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '备注', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 35 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '字典数据表' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -78,15 +88,15 @@ INSERT INTO `sys_dict_item` VALUES (22, 'grant_type', '验证码', 'captcha', 1, -- ---------------------------- DROP TABLE IF EXISTS `sys_dict_type`; CREATE TABLE `sys_dict_type` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键 ', - `name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '类型名称', - `code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '类型编码', - `status` tinyint(1) NULL DEFAULT 0 COMMENT '状态(0:正常;1:禁用)', - `remark` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `type_code`(`code`) USING BTREE + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键 ', + `name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '类型名称', + `code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '类型编码', + `status` tinyint(1) NULL DEFAULT 0 COMMENT '状态(0:正常;1:禁用)', + `remark` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `type_code`(`code`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 31 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '字典类型表' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -102,20 +112,20 @@ INSERT INTO `sys_dict_type` VALUES (4, '请求方式', 'request_method', 1, NULL -- ---------------------------- DROP TABLE IF EXISTS `sys_menu`; CREATE TABLE `sys_menu` ( - `id` bigint NOT NULL AUTO_INCREMENT, - `parent_id` bigint NULL DEFAULT NULL COMMENT '父菜单ID', - `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '菜单名称', - `path` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '路由路径(浏览器地址栏路径)', - `component` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '组件路径(vue页面完整路径,省略.vue后缀)', - `icon` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '菜单图标', - `sort` int NULL DEFAULT 0 COMMENT '排序', - `visible` tinyint(1) NULL DEFAULT 1 COMMENT '状态(0:禁用;1:开启)', - `redirect` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '跳转路径', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `type` tinyint NULL DEFAULT NULL COMMENT '菜单类型(1:菜单;2:目录;3:外链)', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 39 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '菜单管理' ROW_FORMAT = DYNAMIC; + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `parent_id` bigint(20) NULL DEFAULT NULL COMMENT '父菜单ID', + `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '菜单名称', + `path` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '路由路径(浏览器地址栏路径)', + `component` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '组件路径(vue页面完整路径,省略.vue后缀)', + `icon` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '菜单图标', + `sort` int(11) NULL DEFAULT 0 COMMENT '排序', + `visible` tinyint(1) NULL DEFAULT 1 COMMENT '状态(0:禁用;1:开启)', + `redirect` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '跳转路径', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `type` tinyint(4) NULL DEFAULT NULL COMMENT '菜单类型(1:菜单;2:目录;3:外链)', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 40 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '菜单管理' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_menu @@ -150,25 +160,25 @@ INSERT INTO `sys_menu` VALUES (33, 32, 'Seata', 'seata', 'lab/seata/index', 'sec INSERT INTO `sys_menu` VALUES (34, 32, 'RabbitMQ', 'rabbitmq', 'lab/rabbit/index', 'rabbitmq', 2, 1, '', '2022-04-19 09:38:25', '2022-04-19 09:38:25', 1); INSERT INTO `sys_menu` VALUES (37, 9, '优惠券列表', 'coupon', 'sms/coupon/index', 'input', 2, 1, '', '2022-05-29 00:24:07', '2022-05-29 00:24:07', 1); INSERT INTO `sys_menu` VALUES (38, 1, '分配权限', 'assign-perm', 'system/role/AssignPerm', 'perm', 1, 0, '', '2022-06-01 08:49:22', '2022-06-01 08:49:22', 1); -INSERT INTO `sys_menu` (`id`, `parent_id`, `name`, `path`, `component`, `icon`, `sort`, `visible`, `redirect`, `type`, `create_time`, `update_time`) VALUES (39, 32, 'Sentinel', 'sentinel', 'lab/sentinel/index', 'security', 2, 1, '', 1, '2022-07-23 09:52:41', '2022-07-23 09:52:41'); +INSERT INTO `sys_menu` VALUES (39, 32, 'Sentinel', 'sentinel', 'lab/sentinel/index', 'security', 2, 1, '', '2022-07-23 09:52:41', '2022-07-23 09:52:41', 1); -- ---------------------------- -- Table structure for sys_oauth_client -- ---------------------------- DROP TABLE IF EXISTS `sys_oauth_client`; CREATE TABLE `sys_oauth_client` ( - `client_id` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, - `resource_ids` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `client_secret` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `scope` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `authorized_grant_types` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `web_server_redirect_uri` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `authorities` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `access_token_validity` int NULL DEFAULT NULL, - `refresh_token_validity` int NULL DEFAULT NULL, - `additional_information` varchar(4096) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `autoapprove` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - PRIMARY KEY (`client_id`) USING BTREE + `client_id` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `resource_ids` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `client_secret` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `scope` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `authorized_grant_types` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `web_server_redirect_uri` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `authorities` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `access_token_validity` int(11) NULL DEFAULT NULL, + `refresh_token_validity` int(11) NULL DEFAULT NULL, + `additional_information` varchar(4096) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `autoapprove` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + PRIMARY KEY (`client_id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -186,15 +196,15 @@ INSERT INTO `sys_oauth_client` VALUES ('youlai-mall-app', '', '123456', 'all', ' -- ---------------------------- DROP TABLE IF EXISTS `sys_permission`; CREATE TABLE `sys_permission` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', - `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '权限名称', - `menu_id` int NULL DEFAULT NULL COMMENT '菜单模块ID\r\n', - `url_perm` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'URL权限标识', - `btn_perm` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '按钮权限标识', - `create_time` datetime NULL DEFAULT NULL, - `update_time` datetime NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE, - INDEX `id`(`id`, `name`) USING BTREE + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '权限名称', + `menu_id` int(11) NULL DEFAULT NULL COMMENT '菜单模块ID\r\n', + `url_perm` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'URL权限标识', + `btn_perm` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '按钮权限标识', + `create_time` datetime NULL DEFAULT NULL, + `update_time` datetime NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE, + INDEX `id`(`id`, `name`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 29 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '权限表' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -211,32 +221,33 @@ INSERT INTO `sys_permission` VALUES (5, '路由列表', 4, 'GET:/youlai-admin/ap -- ---------------------------- DROP TABLE IF EXISTS `sys_role`; CREATE TABLE `sys_role` ( - `id` bigint NOT NULL AUTO_INCREMENT, - `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '角色名称', - `code` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '角色编码', - `sort` int NULL DEFAULT NULL COMMENT '显示顺序', - `status` tinyint(1) NULL DEFAULT 1 COMMENT '角色状态(1-正常;0-停用)', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识(0-未删除;1-已删除)', - `create_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `update_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `name`(`name`) USING BTREE + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '角色名称', + `code` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '角色编码', + `sort` int(11) NULL DEFAULT NULL COMMENT '显示顺序', + `status` tinyint(1) NULL DEFAULT 1 COMMENT '角色状态(1-正常;0-停用)', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识(0-未删除;1-已删除)', + `create_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `update_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `data_scope` int(1) NULL DEFAULT 1 COMMENT '数据范围(1:全部数据权限 2:本部门数据权限 3:本部门及以下数据权限 4:本人数据)', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `name`(`name`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 21 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, '2021-05-21 14:56:51', '2018-12-23 16:00:00'); -INSERT INTO `sys_role` VALUES (2, '系统管理员', 'ADMIN', 2, 1, 0, '2021-03-25 12:39:54', '2022-06-12 23:19:11'); -INSERT INTO `sys_role` VALUES (3, '访问游客', 'GUEST', 3, 1, 0, '2021-05-26 15:49:05', '2019-05-05 16:00:00'); +INSERT INTO `sys_role` VALUES (1, '超级管理员', 'ROOT', 1, 1, 0, '2021-05-21 14:56:51', '2018-12-23 16:00:00', 1); +INSERT INTO `sys_role` VALUES (2, '系统管理员', 'ADMIN', 2, 1, 0, '2021-03-25 12:39:54', '2022-06-12 23:19:11', 1); +INSERT INTO `sys_role` VALUES (3, '访问游客', 'GUEST', 3, 1, 0, '2021-05-26 15:49:05', '2019-05-05 16:00:00', 1); -- ---------------------------- -- 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' + `role_id` bigint(20) NOT NULL COMMENT '角色ID', + `menu_id` bigint(20) NOT NULL COMMENT '菜单ID' ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色和菜单关联表' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -275,18 +286,17 @@ INSERT INTO `sys_role_menu` VALUES (2, 33); INSERT INTO `sys_role_menu` VALUES (2, 34); INSERT INTO `sys_role_menu` VALUES (2, 26); INSERT INTO `sys_role_menu` VALUES (2, 30); -INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 39); - +INSERT INTO `sys_role_menu` VALUES (2, 39); -- ---------------------------- -- Table structure for sys_role_permission -- ---------------------------- DROP TABLE IF EXISTS `sys_role_permission`; CREATE TABLE `sys_role_permission` ( - `role_id` int NULL DEFAULT NULL COMMENT '角色id', - `permission_id` int NULL DEFAULT NULL COMMENT '资源id', - INDEX `role_id`(`role_id`) USING BTREE, - INDEX `permission_id`(`permission_id`) USING BTREE + `role_id` int(11) NULL DEFAULT NULL COMMENT '角色id', + `permission_id` int(11) NULL DEFAULT NULL COMMENT '资源id', + INDEX `role_id`(`role_id`) USING BTREE, + INDEX `permission_id`(`permission_id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色权限表' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -302,21 +312,21 @@ INSERT INTO `sys_role_permission` VALUES (2, 4); -- ---------------------------- DROP TABLE IF EXISTS `sys_user`; CREATE TABLE `sys_user` ( - `id` int NOT NULL AUTO_INCREMENT, - `username` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户名', - `nickname` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '昵称', - `gender` tinyint(1) NULL DEFAULT 1 COMMENT '性别((1:男;2:女))', - `password` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '密码', - `dept_id` int NULL DEFAULT NULL COMMENT '部门ID', - `avatar` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '用户头像', - `mobile` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '联系方式', - `status` tinyint(1) NULL DEFAULT 1 COMMENT '用户状态((1:正常;0:禁用))', - `email` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户邮箱', - `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '逻辑删除标识(0:未删除;1:已删除)', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `login_name`(`username`) USING BTREE + `id` int(11) NOT NULL AUTO_INCREMENT, + `username` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户名', + `nickname` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '昵称', + `gender` tinyint(1) NULL DEFAULT 1 COMMENT '性别((1:男;2:女))', + `password` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '密码', + `dept_id` int(11) NULL DEFAULT NULL COMMENT '部门ID', + `avatar` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '用户头像', + `mobile` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '联系方式', + `status` tinyint(1) NULL DEFAULT 1 COMMENT '用户状态((1:正常;0:禁用))', + `email` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户邮箱', + `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '逻辑删除标识(0:未删除;1:已删除)', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `login_name`(`username`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 99 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户信息表' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -331,9 +341,9 @@ INSERT INTO `sys_user` VALUES (3, 'test', '测试小用户', 1, '$2a$10$MPJkNw.h -- ---------------------------- DROP TABLE IF EXISTS `sys_user_role`; CREATE TABLE `sys_user_role` ( - `user_id` int NOT NULL COMMENT '用户ID', - `role_id` int NOT NULL COMMENT '角色ID', - PRIMARY KEY (`user_id`, `role_id`) USING BTREE + `user_id` int(11) NOT NULL COMMENT '用户ID', + `role_id` int(11) 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; -- ---------------------------- @@ -343,5 +353,4 @@ INSERT INTO `sys_user_role` VALUES (1, 1); INSERT INTO `sys_user_role` VALUES (2, 2); INSERT INTO `sys_user_role` VALUES (3, 3); - - +SET FOREIGN_KEY_CHECKS = 1; diff --git a/docs/sql/mysql8.x/youlai.sql b/docs/sql/mysql8.x/youlai.sql index 6bd8606e5d4e7dc456d65f96acb7b12cd18a63ac..678422b7424e64a86bc5ac8cf04c0c603ef22702 100644 --- a/docs/sql/mysql8.x/youlai.sql +++ b/docs/sql/mysql8.x/youlai.sql @@ -1,17 +1,17 @@ /* Navicat Premium Data Transfer - Source Server : root.youlai.tech + Source Server : mysql8.0 Source Server Type : MySQL - Source Server Version : 80029 - Source Host : www.youlai.tech:3306 + Source Server Version : 80023 + Source Host : localhost:3306 Source Schema : youlai Target Server Type : MySQL - Target Server Version : 80029 + Target Server Version : 80023 File Encoding : 65001 - Date: 14/06/2022 23:37:41 + Date: 19/09/2022 01:04:44 */ SET NAMES utf8mb4; @@ -22,16 +22,16 @@ SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- DROP TABLE IF EXISTS `sys_dept`; CREATE TABLE `sys_dept` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', - `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '部门名称', - `parent_id` bigint NULL DEFAULT 0 COMMENT '父节点id', - `tree_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '父节点id路径', - `sort` int NULL DEFAULT 0 COMMENT '显示顺序', - `status` tinyint NULL DEFAULT 1 COMMENT '状态(1:正常;0:禁用)', - `deleted` tinyint NULL DEFAULT 0 COMMENT '逻辑删除标识(1:已删除;0:未删除)', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (`id`) USING BTREE + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', + `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '部门名称', + `parent_id` bigint NULL DEFAULT 0 COMMENT '父节点id', + `tree_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '父节点id路径', + `sort` int NULL DEFAULT 0 COMMENT '显示顺序', + `status` tinyint NULL DEFAULT 1 COMMENT '状态(1:正常;0:禁用)', + `deleted` tinyint NULL DEFAULT 0 COMMENT '逻辑删除标识(1:已删除;0:未删除)', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 47 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '部门表' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -46,17 +46,17 @@ INSERT INTO `sys_dept` VALUES (3, '测试部门', 1, '0,1', 2, 1, 0, NULL, NULL) -- ---------------------------- DROP TABLE IF EXISTS `sys_dict_item`; CREATE TABLE `sys_dict_item` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', - `type_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '字典类型编码', - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '字典项名称', - `value` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '字典项值', - `sort` int NULL DEFAULT 0 COMMENT '排序', - `status` tinyint NULL DEFAULT 0 COMMENT '状态(1:正常;0:禁用)', - `defaulted` tinyint NULL DEFAULT 0 COMMENT '是否默认(1:是;0:否)', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (`id`) USING BTREE + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', + `type_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '字典类型编码', + `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '字典项名称', + `value` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '字典项值', + `sort` int NULL DEFAULT 0 COMMENT '排序', + `status` tinyint NULL DEFAULT 0 COMMENT '状态(1:正常;0:禁用)', + `defaulted` tinyint NULL DEFAULT 0 COMMENT '是否默认(1:是;0:否)', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 35 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '字典数据表' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -88,15 +88,15 @@ INSERT INTO `sys_dict_item` VALUES (22, 'grant_type', '验证码', 'captcha', 1, -- ---------------------------- DROP TABLE IF EXISTS `sys_dict_type`; CREATE TABLE `sys_dict_type` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键 ', - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '类型名称', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '类型编码', - `status` tinyint(1) NULL DEFAULT 0 COMMENT '状态(0:正常;1:禁用)', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `type_code`(`code`) USING BTREE + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键 ', + `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '类型名称', + `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '类型编码', + `status` tinyint(1) NULL DEFAULT 0 COMMENT '状态(0:正常;1:禁用)', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `type_code`(`code`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 31 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '字典类型表' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -112,20 +112,20 @@ INSERT INTO `sys_dict_type` VALUES (4, '请求方式', 'request_method', 1, NULL -- ---------------------------- DROP TABLE IF EXISTS `sys_menu`; CREATE TABLE `sys_menu` ( - `id` bigint NOT NULL AUTO_INCREMENT, - `parent_id` bigint NULL DEFAULT NULL COMMENT '父菜单ID', - `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '菜单名称', - `path` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '路由路径(浏览器地址栏路径)', - `component` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组件路径(vue页面完整路径,省略.vue后缀)', - `icon` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '菜单图标', - `sort` int NULL DEFAULT 0 COMMENT '排序', - `visible` tinyint(1) NULL DEFAULT 1 COMMENT '状态(0:禁用;1:开启)', - `redirect` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '跳转路径', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `type` tinyint NULL DEFAULT NULL COMMENT '菜单类型(1:菜单;2:目录;3:外链)', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 39 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '菜单管理' ROW_FORMAT = DYNAMIC; + `id` bigint NOT NULL AUTO_INCREMENT, + `parent_id` bigint NULL DEFAULT NULL COMMENT '父菜单ID', + `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '菜单名称', + `path` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '路由路径(浏览器地址栏路径)', + `component` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组件路径(vue页面完整路径,省略.vue后缀)', + `icon` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '菜单图标', + `sort` int NULL DEFAULT 0 COMMENT '排序', + `visible` tinyint(1) NULL DEFAULT 1 COMMENT '状态(0:禁用;1:开启)', + `redirect` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '跳转路径', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `type` tinyint NULL DEFAULT NULL COMMENT '菜单类型(1:菜单;2:目录;3:外链)', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 40 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '菜单管理' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_menu @@ -159,26 +159,25 @@ INSERT INTO `sys_menu` VALUES (32, 0, '实验室', '/lab', 'Layout', 'lab', 8, 1 INSERT INTO `sys_menu` VALUES (33, 32, 'Seata', 'seata', 'lab/seata/index', 'security', 1, 1, '', '2022-04-19 09:35:38', '2022-04-19 09:35:38', 1); INSERT INTO `sys_menu` VALUES (34, 32, 'RabbitMQ', 'rabbitmq', 'lab/rabbit/index', 'rabbitmq', 2, 1, '', '2022-04-19 09:38:25', '2022-04-19 09:38:25', 1); INSERT INTO `sys_menu` VALUES (37, 9, '优惠券列表', 'coupon', 'sms/coupon/index', 'input', 2, 1, '', '2022-05-29 00:24:07', '2022-05-29 00:24:07', 1); -INSERT INTO `sys_menu` (`id`, `parent_id`, `name`, `path`, `component`, `icon`, `sort`, `visible`, `redirect`, `type`, `create_time`, `update_time`) VALUES (39, 32, 'Sentinel', 'sentinel', 'lab/sentinel/index', 'security', 2, 1, '', 1, '2022-07-23 09:52:41', '2022-07-23 09:52:41'); - +INSERT INTO `sys_menu` VALUES (39, 32, 'Sentinel', 'sentinel', 'lab/sentinel/index', 'security', 2, 1, '', '2022-07-23 09:52:41', '2022-07-23 09:52:41', 1); -- ---------------------------- -- Table structure for sys_oauth_client -- ---------------------------- DROP TABLE IF EXISTS `sys_oauth_client`; CREATE TABLE `sys_oauth_client` ( - `client_id` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `resource_ids` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `client_secret` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `scope` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `authorized_grant_types` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `web_server_redirect_uri` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `authorities` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `access_token_validity` int NULL DEFAULT NULL, - `refresh_token_validity` int NULL DEFAULT NULL, - `additional_information` varchar(4096) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `autoapprove` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - PRIMARY KEY (`client_id`) USING BTREE + `client_id` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `resource_ids` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `client_secret` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `scope` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `authorized_grant_types` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `web_server_redirect_uri` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `authorities` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `access_token_validity` int NULL DEFAULT NULL, + `refresh_token_validity` int NULL DEFAULT NULL, + `additional_information` varchar(4096) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `autoapprove` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + PRIMARY KEY (`client_id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -196,15 +195,15 @@ INSERT INTO `sys_oauth_client` VALUES ('youlai-mall-app', '', '123456', 'all', ' -- ---------------------------- DROP TABLE IF EXISTS `sys_permission`; CREATE TABLE `sys_permission` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', - `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限名称', - `menu_id` int NULL DEFAULT NULL COMMENT '菜单模块ID\r\n', - `url_perm` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'URL权限标识', - `btn_perm` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '按钮权限标识', - `create_time` datetime NULL DEFAULT NULL, - `update_time` datetime NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE, - INDEX `id`(`id`, `name`) USING BTREE + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', + `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限名称', + `menu_id` int NULL DEFAULT NULL COMMENT '菜单模块ID\r\n', + `url_perm` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'URL权限标识', + `btn_perm` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '按钮权限标识', + `create_time` datetime NULL DEFAULT NULL, + `update_time` datetime NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE, + INDEX `id`(`id`, `name`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 29 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '权限表' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -221,32 +220,33 @@ INSERT INTO `sys_permission` VALUES (5, '路由列表', 4, 'GET:/youlai-admin/ap -- ---------------------------- DROP TABLE IF EXISTS `sys_role`; CREATE TABLE `sys_role` ( - `id` bigint NOT NULL AUTO_INCREMENT, - `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '角色名称', - `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '角色编码', - `sort` int NULL DEFAULT NULL COMMENT '显示顺序', - `status` tinyint(1) NULL DEFAULT 1 COMMENT '角色状态(1-正常;0-停用)', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识(0-未删除;1-已删除)', - `create_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `update_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `name`(`name`) USING BTREE + `id` bigint NOT NULL AUTO_INCREMENT, + `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '角色名称', + `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '角色编码', + `sort` int NULL DEFAULT NULL COMMENT '显示顺序', + `status` tinyint(1) NULL DEFAULT 1 COMMENT '角色状态(1-正常;0-停用)', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识(0-未删除;1-已删除)', + `create_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `update_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `data_scope` int NULL DEFAULT 1 COMMENT '数据范围(1:全部数据权限 2:本部门数据权限 3:本部门及以下数据权限 4:本人数据)', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `name`(`name`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_role -- ---------------------------- -INSERT INTO `sys_role` VALUES (1, '超级管理员', 'ROOT', 1, 1, 0, '2021-05-21 14:56:51', '2018-12-23 16:00:00'); -INSERT INTO `sys_role` VALUES (2, '系统管理员', 'ADMIN', 2, 1, 0, '2021-03-25 12:39:54', '2022-06-12 23:19:11'); -INSERT INTO `sys_role` VALUES (3, '访问游客', 'GUEST', 3, 1, 0, '2021-05-26 15:49:05', '2019-05-05 16:00:00'); +INSERT INTO `sys_role` VALUES (1, '超级管理员', 'ROOT', 1, 1, 0, '2021-05-21 14:56:51', '2018-12-23 16:00:00', 1); +INSERT INTO `sys_role` VALUES (2, '系统管理员', 'ADMIN', 2, 1, 0, '2021-03-25 12:39:54', '2022-09-18 23:02:50', 1); +INSERT INTO `sys_role` VALUES (3, '访问游客', 'GUEST', 3, 1, 0, '2021-05-26 15:49:05', '2022-09-18 23:02:42', 2); -- ---------------------------- -- 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' + `role_id` bigint NOT NULL COMMENT '角色ID', + `menu_id` bigint NOT NULL COMMENT '菜单ID' ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色和菜单关联表' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -285,17 +285,17 @@ INSERT INTO `sys_role_menu` VALUES (2, 33); INSERT INTO `sys_role_menu` VALUES (2, 34); INSERT INTO `sys_role_menu` VALUES (2, 26); INSERT INTO `sys_role_menu` VALUES (2, 30); -INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 39); +INSERT INTO `sys_role_menu` VALUES (2, 39); -- ---------------------------- -- Table structure for sys_role_permission -- ---------------------------- DROP TABLE IF EXISTS `sys_role_permission`; CREATE TABLE `sys_role_permission` ( - `role_id` int NULL DEFAULT NULL COMMENT '角色id', - `permission_id` int NULL DEFAULT NULL COMMENT '资源id', - INDEX `role_id`(`role_id`) USING BTREE, - INDEX `permission_id`(`permission_id`) USING BTREE + `role_id` int NULL DEFAULT NULL COMMENT '角色id', + `permission_id` int NULL DEFAULT NULL COMMENT '资源id', + INDEX `role_id`(`role_id`) USING BTREE, + INDEX `permission_id`(`permission_id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色权限表' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -311,21 +311,21 @@ INSERT INTO `sys_role_permission` VALUES (2, 4); -- ---------------------------- DROP TABLE IF EXISTS `sys_user`; CREATE TABLE `sys_user` ( - `id` int NOT NULL AUTO_INCREMENT, - `username` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户名', - `nickname` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '昵称', - `gender` tinyint(1) NULL DEFAULT 1 COMMENT '性别((1:男;2:女))', - `password` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码', - `dept_id` int NULL DEFAULT NULL COMMENT '部门ID', - `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '用户头像', - `mobile` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '联系方式', - `status` tinyint(1) NULL DEFAULT 1 COMMENT '用户状态((1:正常;0:禁用))', - `email` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户邮箱', - `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '逻辑删除标识(0:未删除;1:已删除)', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `login_name`(`username`) USING BTREE + `id` int NOT NULL AUTO_INCREMENT, + `username` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户名', + `nickname` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '昵称', + `gender` tinyint(1) NULL DEFAULT 1 COMMENT '性别((1:男;2:女))', + `password` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码', + `dept_id` int NULL DEFAULT NULL COMMENT '部门ID', + `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '用户头像', + `mobile` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '联系方式', + `status` tinyint(1) NULL DEFAULT 1 COMMENT '用户状态((1:正常;0:禁用))', + `email` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户邮箱', + `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '逻辑删除标识(0:未删除;1:已删除)', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `login_name`(`username`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 99 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户信息表' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -340,9 +340,9 @@ INSERT INTO `sys_user` VALUES (3, 'test', '测试小用户', 1, '$2a$10$MPJkNw.h -- ---------------------------- DROP TABLE IF EXISTS `sys_user_role`; CREATE TABLE `sys_user_role` ( - `user_id` int NOT NULL COMMENT '用户ID', - `role_id` int NOT NULL COMMENT '角色ID', - PRIMARY KEY (`user_id`, `role_id`) USING BTREE + `user_id` int NOT NULL COMMENT '用户ID', + `role_id` int 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; -- ---------------------------- @@ -351,3 +351,5 @@ CREATE TABLE `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); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/youlai-admin/admin-api/src/main/java/com/youlai/admin/dto/UserAuthDTO.java b/youlai-admin/admin-api/src/main/java/com/youlai/admin/dto/UserAuthDTO.java index 482a594f9ab1a3059fd9f9810e3090309916c392..5db14fdccbb8fcb6ce5265ec25530a19521260da 100644 --- a/youlai-admin/admin-api/src/main/java/com/youlai/admin/dto/UserAuthDTO.java +++ b/youlai-admin/admin-api/src/main/java/com/youlai/admin/dto/UserAuthDTO.java @@ -1,5 +1,6 @@ package com.youlai.admin.dto; + import lombok.Data; import java.util.List; @@ -43,4 +44,9 @@ public class UserAuthDTO { */ private Long deptId; + /** + * 用户角色数据权限集合 + */ + private List dataScopes; + } diff --git a/youlai-admin/admin-boot/src/main/java/com/youlai/admin/pojo/entity/SysRole.java b/youlai-admin/admin-boot/src/main/java/com/youlai/admin/pojo/entity/SysRole.java index 4f9b5a1071b2bd87a9dcabaa7e75ba3f164bc732..614384c45a554a002130fc5f8abf21bd8d8e79c2 100644 --- a/youlai-admin/admin-boot/src/main/java/com/youlai/admin/pojo/entity/SysRole.java +++ b/youlai-admin/admin-boot/src/main/java/com/youlai/admin/pojo/entity/SysRole.java @@ -25,6 +25,8 @@ public class SysRole extends BaseEntity { private Integer status; + private Integer dataScope; + @ApiModelProperty("逻辑删除标识 0-未删除 1-已删除") //@TableLogic(value = "0", delval = "1") private Integer deleted; diff --git a/youlai-admin/admin-boot/src/main/java/com/youlai/admin/pojo/form/RoleForm.java b/youlai-admin/admin-boot/src/main/java/com/youlai/admin/pojo/form/RoleForm.java index b107772e3688f923bc58fd004773e19c54dc87ed..9082a97f0aaf9b3df00c435a1bd694db7cccf538 100644 --- a/youlai-admin/admin-boot/src/main/java/com/youlai/admin/pojo/form/RoleForm.java +++ b/youlai-admin/admin-boot/src/main/java/com/youlai/admin/pojo/form/RoleForm.java @@ -27,4 +27,7 @@ public class RoleForm { @ApiModelProperty("角色状态(1-正常;0-停用)") private Integer status; + @ApiModelProperty("数据范围(1:全部数据权限 2:本部门数据权限 3:本部门及以下数据权限 4:本人数据)") + private Integer dataScope; + } diff --git a/youlai-admin/admin-boot/src/main/java/com/youlai/admin/pojo/vo/role/RolePageVO.java b/youlai-admin/admin-boot/src/main/java/com/youlai/admin/pojo/vo/role/RolePageVO.java index bf4f2153dd01da85d71f176a576a087f37a6bf68..e92f193f21e83cd609295dcd0eb01b23ee906759 100644 --- a/youlai-admin/admin-boot/src/main/java/com/youlai/admin/pojo/vo/role/RolePageVO.java +++ b/youlai-admin/admin-boot/src/main/java/com/youlai/admin/pojo/vo/role/RolePageVO.java @@ -16,4 +16,7 @@ public class RolePageVO { @ApiModelProperty("角色编码") private String code; + + @ApiModelProperty("角色数据权限") + private Integer dataScope; } diff --git a/youlai-admin/admin-boot/src/main/java/com/youlai/admin/service/impl/SysRoleServiceImpl.java b/youlai-admin/admin-boot/src/main/java/com/youlai/admin/service/impl/SysRoleServiceImpl.java index a217e0a7226d9c77a4ccc17282b7fbc434e97735..ecf5c85a730579656f0f790be54f72dcf65022b5 100644 --- a/youlai-admin/admin-boot/src/main/java/com/youlai/admin/service/impl/SysRoleServiceImpl.java +++ b/youlai-admin/admin-boot/src/main/java/com/youlai/admin/service/impl/SysRoleServiceImpl.java @@ -69,7 +69,7 @@ public class SysRoleServiceImpl extends ServiceImpl impl .or() .like(StrUtil.isNotBlank(keywords), SysRole::getCode, keywords) .ne(!UserUtils.isRoot(), SysRole::getCode, GlobalConstants.ROOT_ROLE_CODE) // 非超级管理员不显示超级管理员角色 - .select(SysRole::getId, SysRole::getName, SysRole::getCode) + .select(SysRole::getId, SysRole::getName, SysRole::getCode,SysRole::getDataScope) ); // 实体转换 diff --git a/youlai-admin/admin-boot/src/main/resources/mapper/SysUserMapper.xml b/youlai-admin/admin-boot/src/main/resources/mapper/SysUserMapper.xml index a212accb2cb1085cecba2e6dd66dd21656b5cdf1..2a692e5580e230a6a17abf77b4920c058c127028 100644 --- a/youlai-admin/admin-boot/src/main/resources/mapper/SysUserMapper.xml +++ b/youlai-admin/admin-boot/src/main/resources/mapper/SysUserMapper.xml @@ -86,6 +86,9 @@ + + + @@ -97,7 +100,8 @@ t1.PASSWORD, t1.STATUS, t1.dept_id deptId, - t3.CODE roleCode + t3.CODE roleCode, + t3.data_scope dataScope FROM sys_user t1 LEFT JOIN sys_user_role t2 ON t2.user_id = t1.id diff --git a/youlai-auth/src/main/java/com/youlai/auth/security/config/AuthorizationServerConfig.java b/youlai-auth/src/main/java/com/youlai/auth/security/config/AuthorizationServerConfig.java index 7cf004518a0154891873456452d12e805986dfd9..2fe8da30cb3c5801aaf877b67737851057e22f60 100644 --- a/youlai-auth/src/main/java/com/youlai/auth/security/config/AuthorizationServerConfig.java +++ b/youlai-auth/src/main/java/com/youlai/auth/security/config/AuthorizationServerConfig.java @@ -187,6 +187,7 @@ public class AuthorizationServerConfig extends AuthorizationServerConfigurerAdap additionalInfo.put("userId", sysUserDetails.getUserId()); additionalInfo.put("username", sysUserDetails.getUsername()); additionalInfo.put("deptId", sysUserDetails.getDeptId()); + additionalInfo.put("dataScopes",sysUserDetails.getDataScopes()); // 认证身份标识(username:用户名;) if (StrUtil.isNotBlank(sysUserDetails.getAuthenticationIdentity())) { additionalInfo.put("authenticationIdentity", sysUserDetails.getAuthenticationIdentity()); diff --git a/youlai-auth/src/main/java/com/youlai/auth/security/core/userdetails/user/SysUserDetails.java b/youlai-auth/src/main/java/com/youlai/auth/security/core/userdetails/user/SysUserDetails.java index 1919d578ada7f7e1e96bde2834a0892492a0f4dc..e2beb55699aed5cf526237a95b29dcdc09d05601 100644 --- a/youlai-auth/src/main/java/com/youlai/auth/security/core/userdetails/user/SysUserDetails.java +++ b/youlai-auth/src/main/java/com/youlai/auth/security/core/userdetails/user/SysUserDetails.java @@ -11,6 +11,7 @@ import org.springframework.security.core.userdetails.UserDetails; import java.util.ArrayList; import java.util.Collection; +import java.util.List; /** @@ -39,6 +40,11 @@ public class SysUserDetails implements UserDetails { */ private Long deptId; + /** + * 用户角色数据权限集合 + */ + private List dataScopes; + /** * 默认字段 */ @@ -54,6 +60,7 @@ public class SysUserDetails implements UserDetails { this.setUserId(user.getUserId()); this.setUsername(user.getUsername()); this.setDeptId(user.getDeptId()); + this.setDataScopes(user.getDataScopes()); this.setPassword(PasswordEncoderTypeEnum.BCRYPT.getPrefix() + user.getPassword()); this.setEnabled(GlobalConstants.STATUS_YES.equals(user.getStatus())); if (CollectionUtil.isNotEmpty(user.getRoles())) { diff --git a/youlai-common/common-mybatis/src/main/java/com/youlai/common/mybatis/handler/MyDataPermissionHandler.java b/youlai-common/common-mybatis/src/main/java/com/youlai/common/mybatis/handler/MyDataPermissionHandler.java index bdaf24d12a179cb62704c395bc6c911ecced7918..9b79f70f959659d02326b120d09d86ec0941af6a 100644 --- a/youlai-common/common-mybatis/src/main/java/com/youlai/common/mybatis/handler/MyDataPermissionHandler.java +++ b/youlai-common/common-mybatis/src/main/java/com/youlai/common/mybatis/handler/MyDataPermissionHandler.java @@ -28,6 +28,28 @@ import java.util.List; @Slf4j public class MyDataPermissionHandler implements DataPermissionHandler { + /** + * 全部数据权限 + */ + public static final Integer DATA_SCOPE_ALL = 1; + + + /** + * 部门数据权限 + */ + public static final Integer DATA_SCOPE_DEPT = 2; + + /** + * 部门及以下数据权限 + */ + public static final Integer DATA_SCOPE_DEPT_AND_CHILD =3; + + /** + * 仅本人数据权限 + */ + public static final Integer DATA_SCOPE_SELF = 4; + + @Override public Expression getSqlSegment(Expression where, String mappedStatementId) { try { @@ -61,6 +83,19 @@ public class MyDataPermissionHandler implements DataPermissionHandler { * @return 构建后查询条件 */ public static Expression dataScopeFilter(String deptAlias, Expression where) { + // 获取当前的用户数据权限 + List dataScopes = UserUtils.getDataScopes(); + for (Integer dataScope: dataScopes) { + if(dataScope == DATA_SCOPE_ALL){ + + }else if(dataScope == DATA_SCOPE_DEPT){ + + }else if(dataScope == DATA_SCOPE_DEPT_AND_CHILD){ + + }else if(dataScope == DATA_SCOPE_SELF){ + + } + } Expression expression = new EqualsTo(new Column(StrUtil.isEmpty(deptAlias) ? "id" : deptAlias + ".id"), getDeptId()); LikeExpression likeExpression = new LikeExpression(); Function left = new Function(); diff --git a/youlai-common/common-web/src/main/java/com/youlai/common/web/util/UserUtils.java b/youlai-common/common-web/src/main/java/com/youlai/common/web/util/UserUtils.java index 11028b86797822c865f6d9489384fab8c89017bd..86d7665ff3d125f672ef3f67c98758cf1e3f9ea4 100644 --- a/youlai-common/common-web/src/main/java/com/youlai/common/web/util/UserUtils.java +++ b/youlai-common/common-web/src/main/java/com/youlai/common/web/util/UserUtils.java @@ -77,6 +77,22 @@ public class UserUtils { return roles; } + /** + * JWT获取用户数据权限列表 + * + * @return 角色数据权限列表 + */ + public static List getDataScopes() { + List dataScopes; + JSONObject payload = JwtUtils.getJwtPayload(); + if (payload.containsKey("dataScopes")) { + dataScopes = payload.getJSONArray("dataScopes").toList(Integer.class); + } else { + dataScopes = Collections.emptyList(); + } + return dataScopes; + } + /** * 是否「超级管理员」 *