diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index eade344f..7cb652f9 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -43,7 +43,7 @@ services: command: server /data --console-address ":9090" ports: - 9000:9000 - - 9090:9090 + - 9001:9001 environment: - TZ=Asia/Shanghai - LANG=en_US.UTF-8 diff --git a/docker/mysql/conf/my.cnf b/docker/mysql/conf/my.cnf index b71a794b..73981f81 100644 --- a/docker/mysql/conf/my.cnf +++ b/docker/mysql/conf/my.cnf @@ -1,41 +1,20 @@ -# 服务端参数配置 + + [mysqld] -skip-name-resolve -user=mysql # MySQL启动用户 -default-storage-engine=INNODB # 创建新表时将使用的默认存储引擎 -character-set-server=utf8mb4 # 设置mysql服务端默认字符集 -collation-server = utf8mb4_general_ci # 数据库字符集对应一些排序等规则,注意要和character-set-server对应 +# 字符集与排序规则 +character-set-server = utf8mb4 # 服务端默认字符集 +collation-server = utf8mb4_0900_ai_ci # 服务端默认排序规则 -pid-file = /var/lib/mysql/mysqld.pid # pid文件所在目录 -socket = /var/lib/mysql/mysqld.sock # 用于本地连接的socket套接字 -datadir = /var/lib/mysql # 数据文件存放的目录 -bind-address = 0.0.0.0 # 允许本机及外部网络连接 -expire_logs_days= 7 # 定义清除过期日志的时间(这里设置为7天) +# 网络与路径 +datadir = /var/lib/mysql # 数据文件存放的目录 +bind-address = 0.0.0.0 # 允许远程连接,默认 127.0.0.1 只允许本地连接 +port = 3306 # 显式指定端口(默认3306可不写) -# 设置client连接mysql时的字符集,防止乱码 -init_connect='SET NAMES utf8mb4' - -# 是否对sql语句大小写敏感,1表示不敏感 -lower_case_table_names = 1 - -# 执行sql的模式,规定了sql的安全等级, 暂时屏蔽,my.cnf文件中配置报错 -#sql_mode = STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION - -# 事务隔离级别,默认为可重复读,mysql默认可重复读级别(此级别下可能参数很多间隙锁,影响性能) -transaction_isolation = READ-COMMITTED - -# TIMESTAMP如果没有显示声明NOT NULL,允许NULL值 -explicit_defaults_for_timestamp = true - -#它控制着mysqld进程能使用的最大文件描述(FD)符数量。 -#需要注意的是这个变量的值并不一定是你设定的值,mysqld会在系统允许的情况下尽量获取更多的FD数量 -open_files_limit = 65535 - -# 允许最大连接数 -max_connections=200 - -#最大错误连接数 -max_connect_errors = 600 +# 客户端字符集同步(避免乱码) +init_connect = 'SET NAMES utf8mb4' # 连接初始化时设置字符集 [client] -default-character-set=utf8mb4 # 设置mysql客户端默认字符集 \ No newline at end of file +default-character-set = utf8mb4 # 客户端默认字符集 + +[mysql] +default-character-set = utf8mb4 # MySQL 命令行工具字符集 diff --git a/sql/mysql/youlai_boot.sql b/sql/mysql/youlai_boot.sql index 0fd3a84c..4b3e5c30 100644 --- a/sql/mysql/youlai_boot.sql +++ b/sql/mysql/youlai_boot.sql @@ -6,7 +6,7 @@ -- ---------------------------- -- 1. 创建数据库 -- ---------------------------- -CREATE DATABASE IF NOT EXISTS youlai_boot DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_unicode_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 @@ -39,7 +36,7 @@ CREATE TABLE `sys_dept` ( `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_unicode_ci COMMENT = '部门表'; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '部门表'; -- ---------------------------- -- Records of sys_dept @@ -65,7 +62,7 @@ CREATE TABLE `sys_dict` ( `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_unicode_ci COMMENT='字典表'; +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='字典表'; -- ---------------------------- -- Records of sys_dict -- ---------------------------- @@ -92,7 +89,7 @@ CREATE TABLE `sys_dict_data` ( `update_time` datetime COMMENT '更新时间', `update_by` bigint COMMENT '修改人ID', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='字典数据表'; +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='字典数据表'; -- ---------------------------- -- Records of sys_dict_data @@ -132,9 +129,9 @@ CREATE TABLE `sys_menu` ( `redirect` varchar(128) COMMENT '跳转路径', `create_time` datetime NULL COMMENT '创建时间', `update_time` datetime NULL COMMENT '更新时间', - `params` json NULL COMMENT '路由参数', + `params` varchar(255) NULL COMMENT '路由参数', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '菜单管理'; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '菜单管理'; -- ---------------------------- -- Records of sys_menu @@ -233,7 +230,7 @@ CREATE TABLE `sys_role` ( 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_unicode_ci COMMENT = '角色表'; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '角色表'; -- ---------------------------- -- Records of sys_role @@ -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_unicode_ci COMMENT = '角色和菜单关联表'; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '角色和菜单关联表'; -- ---------------------------- -- Records of sys_role_menu @@ -370,7 +367,7 @@ CREATE TABLE `sys_user` ( `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_unicode_ci COMMENT = '用户信息表'; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '用户信息表'; -- ---------------------------- -- Records of sys_user @@ -387,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_unicode_ci COMMENT = '用户和角色关联表'; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '用户和角色关联表'; -- ---------------------------- -- Records of sys_user_role @@ -403,14 +400,14 @@ 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 '日志模块', + `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) CHARACTER SET utf8mb4 NOT NULL COMMENT '日志内容', + `content` varchar(255) NOT NULL COMMENT '日志内容', `request_uri` varchar(255) COMMENT '请求路径', - `method` varchar(255) CHARACTER SET utf8mb4 COMMENT '方法名', - `ip` varchar(45) CHARACTER SET utf8mb4 COMMENT 'IP地址', + `method` varchar(255) COMMENT '方法名', + `ip` varchar(45) COMMENT 'IP地址', `province` varchar(100) COMMENT '省份', `city` varchar(100) COMMENT '城市', `execution_time` bigint COMMENT '执行时间(ms)', @@ -422,7 +419,7 @@ CREATE TABLE `sys_log` ( `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_unicode_ci COMMENT='系统日志表'; +) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COMMENT='系统日志表'; -- ---------------------------- -- Table structure for gen_config @@ -442,7 +439,7 @@ CREATE TABLE `gen_config` ( `is_deleted` bit(1) DEFAULT b'0' COMMENT '是否删除', PRIMARY KEY (`id`), UNIQUE KEY `uk_tablename` (`table_name`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='代码生成基础配置表'; +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='代码生成基础配置表'; -- ---------------------------- -- Table structure for gen_field_config @@ -470,7 +467,7 @@ CREATE TABLE `gen_field_config` ( `update_time` datetime COMMENT '更新时间', PRIMARY KEY (`id`), KEY `config_id` (`config_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='代码生成字段配置表'; +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='代码生成字段配置表'; -- ---------------------------- -- 系统配置表 @@ -514,7 +511,7 @@ CREATE TABLE `sys_notice` ( `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_unicode_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); @@ -541,7 +538,7 @@ CREATE TABLE `sys_user_notice` ( `update_time` datetime COMMENT '更新时间', `is_deleted` tinyint DEFAULT '0' COMMENT '逻辑删除(0: 未删除, 1: 已删除)', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_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); @@ -554,7 +551,4 @@ 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/src/main/java/com/youlai/boot/core/security/manager/JwtTokenManager.java b/src/main/java/com/youlai/boot/core/security/manager/JwtTokenManager.java index 6bb06473..4da6987b 100644 --- a/src/main/java/com/youlai/boot/core/security/manager/JwtTokenManager.java +++ b/src/main/java/com/youlai/boot/core/security/manager/JwtTokenManager.java @@ -188,7 +188,7 @@ public class JwtTokenManager implements TokenManager { * * @param authentication 认证信息 * @param ttl 过期时间 - * @return + * @return JWT Token */ private String generateToken(Authentication authentication, int ttl) { diff --git a/src/main/java/com/youlai/boot/system/controller/UserController.java b/src/main/java/com/youlai/boot/system/controller/UserController.java index 2e2b626a..0b5e39fa 100644 --- a/src/main/java/com/youlai/boot/system/controller/UserController.java +++ b/src/main/java/com/youlai/boot/system/controller/UserController.java @@ -1,6 +1,5 @@ package com.youlai.boot.system.controller; -import cn.hutool.json.JSONUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; @@ -64,7 +63,6 @@ public class UserController { @Valid UserPageQuery queryParams ) { IPage