From d6400e382a91fe7b00fa9dc7a24499a5ebf0c211 Mon Sep 17 00:00:00 2001 From: zlyx <1242874891@qq.com> Date: Wed, 14 Sep 2022 14:22:49 +0800 Subject: [PATCH 01/52] =?UTF-8?q?fix=20=E4=BF=AE=E6=AD=A3=E6=8E=A7?= =?UTF-8?q?=E5=88=B6=E5=8F=B0=E6=97=A5=E5=BF=97=E6=89=93=E5=8D=B0=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=E5=8C=96=E9=97=AE=E9=A2=98=20;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-admin/src/main/resources/spy.properties | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ruoyi-admin/src/main/resources/spy.properties b/ruoyi-admin/src/main/resources/spy.properties index 918f1cb5e..bee2392d1 100644 --- a/ruoyi-admin/src/main/resources/spy.properties +++ b/ruoyi-admin/src/main/resources/spy.properties @@ -14,6 +14,8 @@ useprefix=true excludecategories=info,debug,result,commit,resultset # 日期格式 dateformat=yyyy-MM-dd HH:mm:ss +# SQL语句打印时间格式 +databaseDialectTimestampFormat=yyyy-MM-dd HH:mm:ss # 实际驱动可多个 #driverlist=org.h2.Driver # 是否开启慢SQL记录 From c3faa1a925282d903a535b298eab9f7fbfa53c8b Mon Sep 17 00:00:00 2001 From: RuoYi Date: Thu, 15 Sep 2022 08:48:43 +0800 Subject: [PATCH 02/52] =?UTF-8?q?=E5=8D=87=E7=BA=A7element-ui=E5=88=B0?= =?UTF-8?q?=E6=9C=80=E6=96=B0=E7=89=88=E6=9C=AC2.15.10?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-ui/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruoyi-ui/package.json b/ruoyi-ui/package.json index b4fb1b68f..bf142b40a 100644 --- a/ruoyi-ui/package.json +++ b/ruoyi-ui/package.json @@ -41,7 +41,7 @@ "clipboard": "2.0.8", "core-js": "3.19.1", "echarts": "4.9.0", - "element-ui": "2.15.8", + "element-ui": "2.15.10", "file-saver": "2.0.5", "fuse.js": "6.4.3", "highlight.js": "9.18.5", From 6281ec0456f2b02d924cdb360db47c5ef93db8f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90li?= <15040126243@163.com> Date: Thu, 15 Sep 2022 09:48:17 +0800 Subject: [PATCH 03/52] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=20=E4=B8=8D?= =?UTF-8?q?=E5=90=8C=E7=BD=91=E6=AE=B5=E5=9B=A0reset=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E5=A4=B4=E5=AF=BC=E8=87=B4=E4=B8=8B=E8=BD=BD=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E8=B7=A8=E5=9F=9F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ruoyi/web/controller/system/SysOssController.java | 1 - .../src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java | 1 - .../main/java/com/ruoyi/generator/controller/GenController.java | 1 - 3 files changed, 3 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssController.java index d15a13d35..fac5ddef6 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssController.java @@ -100,7 +100,6 @@ public class SysOssController extends BaseController { if (ObjectUtil.isNull(sysOss)) { throw new ServiceException("文件数据不存在!"); } - response.reset(); FileUtils.setAttachmentResponseHeader(response, sysOss.getOriginalName()); response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE + "; charset=UTF-8"); long data; diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java index e6a67b26b..3ff8fec40 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java @@ -194,7 +194,6 @@ public class ExcelUtil { */ private static void resetResponse(String sheetName, HttpServletResponse response) throws UnsupportedEncodingException { String filename = encodingFilename(sheetName); - response.reset(); FileUtils.setAttachmentResponseHeader(response, filename); response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8"); } diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java index 77df9fd92..e8549bf47 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java +++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java @@ -196,7 +196,6 @@ public class GenController extends BaseController { * 生成zip文件 */ private void genCode(HttpServletResponse response, byte[] data) throws IOException { - response.reset(); response.addHeader("Access-Control-Allow-Origin", "*"); response.addHeader("Access-Control-Expose-Headers", "Content-Disposition"); response.setHeader("Content-Disposition", "attachment; filename=\"ruoyi.zip\""); From 2c7663d971d2432d504a47b2b87c4e432b366338 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90li?= <15040126243@163.com> Date: Thu, 15 Sep 2022 10:07:35 +0800 Subject: [PATCH 04/52] =?UTF-8?q?reset=20=E5=9B=9E=E6=BB=9A=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E7=94=9F=E6=88=90=E7=9B=B8=E5=85=B3=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ruoyi/generator/controller/GenController.java | 1 + 1 file changed, 1 insertion(+) diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java index e8549bf47..77df9fd92 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java +++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java @@ -196,6 +196,7 @@ public class GenController extends BaseController { * 生成zip文件 */ private void genCode(HttpServletResponse response, byte[] data) throws IOException { + response.reset(); response.addHeader("Access-Control-Allow-Origin", "*"); response.addHeader("Access-Control-Expose-Headers", "Content-Disposition"); response.setHeader("Content-Disposition", "attachment; filename=\"ruoyi.zip\""); From 7d66a5bd842a9a223106ce36f640d218c89f9555 Mon Sep 17 00:00:00 2001 From: Charles7c Date: Fri, 16 Sep 2022 09:06:07 +0800 Subject: [PATCH 05/52] =?UTF-8?q?=E5=8D=87=E7=BA=A7=EF=BC=9A=E5=8D=87?= =?UTF-8?q?=E7=BA=A7sa-token=E5=88=B0=E6=9C=80=E6=96=B0=E7=89=881.31.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../controller/monitor/SysUserOnlineController.java | 2 +- .../com/ruoyi/framework/config/SaTokenConfig.java | 6 ++---- .../ruoyi/framework/listener/UserActionListener.java | 11 ++++++++--- .../ruoyi/framework/satoken/dao/PlusSaTokenDao.java | 5 ++--- 5 files changed, 14 insertions(+), 12 deletions(-) diff --git a/pom.xml b/pom.xml index 23d3d3c25..0f1cc5fd8 100644 --- a/pom.xml +++ b/pom.xml @@ -25,7 +25,7 @@ 5.2.2 3.1.1 2.3 - 1.30.0 + 1.31.0 3.5.2 3.9.1 5.8.5 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java index c43055f45..786214712 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java @@ -42,7 +42,7 @@ public class SysUserOnlineController extends BaseController { @GetMapping("/list") public TableDataInfo list(String ipaddr, String userName) { // 获取所有未过期的 token - List keys = StpUtil.searchTokenValue("", -1, 0); + List keys = StpUtil.searchTokenValue("", -1, 0, false); List userOnlineDTOList = new ArrayList<>(); for (String key : keys) { String token = key.replace(CacheConstants.LOGIN_TOKEN_KEY, ""); diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SaTokenConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SaTokenConfig.java index a5be2678e..f53dc0678 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SaTokenConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SaTokenConfig.java @@ -1,7 +1,6 @@ package com.ruoyi.framework.config; -import cn.dev33.satoken.interceptor.SaAnnotationInterceptor; -import cn.dev33.satoken.interceptor.SaRouteInterceptor; +import cn.dev33.satoken.interceptor.SaInterceptor; import cn.dev33.satoken.jwt.StpLogicJwtForSimple; import cn.dev33.satoken.router.SaRouter; import cn.dev33.satoken.stp.StpLogic; @@ -34,7 +33,7 @@ public class SaTokenConfig implements WebMvcConfigurer { @Override public void addInterceptors(InterceptorRegistry registry) { // 注册路由拦截器,自定义验证规则 - registry.addInterceptor(new SaRouteInterceptor((request, response, handler) -> { + registry.addInterceptor(new SaInterceptor(handler -> { ExcludeUrlProperties excludeUrlProperties = SpringUtils.getBean(ExcludeUrlProperties.class); // 登录验证 -- 排除多个路径 SaRouter @@ -56,7 +55,6 @@ public class SaTokenConfig implements WebMvcConfigurer { }); })).addPathPatterns("/**"); - registry.addInterceptor(new SaAnnotationInterceptor()).addPathPatterns("/**"); } @Bean diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/listener/UserActionListener.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/listener/UserActionListener.java index 1e3c22c35..0f29c9c4b 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/listener/UserActionListener.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/listener/UserActionListener.java @@ -88,14 +88,14 @@ public class UserActionListener implements SaTokenListener { * 每次被封禁时触发 */ @Override - public void doDisable(String loginType, Object loginId, long disableTime) { + public void doDisable(String loginType, Object loginId, String service, int level, long disableTime) { } /** * 每次被解封时触发 */ @Override - public void doUntieDisable(String loginType, Object loginId) { + public void doUntieDisable(String loginType, Object loginId, String service) { } /** @@ -112,5 +112,10 @@ public class UserActionListener implements SaTokenListener { public void doLogoutSession(String id) { } - + /** + * 每次Token续期时触发 + */ + @Override + public void doRenewTimeout(String tokenValue, Object loginId, long timeout) { + } } diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/satoken/dao/PlusSaTokenDao.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/satoken/dao/PlusSaTokenDao.java index 68df5a646..83c3d5455 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/satoken/dao/PlusSaTokenDao.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/satoken/dao/PlusSaTokenDao.java @@ -170,10 +170,9 @@ public class PlusSaTokenDao implements SaTokenDao { * 搜索数据 */ @Override - public List searchData(String prefix, String keyword, int start, int size) { + public List searchData(String prefix, String keyword, int start, int size, boolean sortType) { Collection keys = RedisUtils.keys(prefix + "*" + keyword + "*"); List list = new ArrayList<>(keys); - return SaFoxUtil.searchList(list, start, size); + return SaFoxUtil.searchList(list, start, size, sortType); } - } From 854b405d893be3bcee20f3b9f44c83102eacb9f8 Mon Sep 17 00:00:00 2001 From: RuoYi Date: Sun, 18 Sep 2022 11:26:03 +0800 Subject: [PATCH 06/52] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E8=B4=A6=E5=8F=B7=E9=87=8D=E5=A4=8D=E9=AA=8C?= =?UTF-8?q?=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/system/SysUserController.java | 8 ++++++-- .../framework/web/service/SysRegisterService.java | 13 ++++++------- .../java/com/ruoyi/system/mapper/SysUserMapper.java | 2 +- .../com/ruoyi/system/service/ISysUserService.java | 4 ++-- .../system/service/impl/SysUserServiceImpl.java | 9 +++++---- .../main/resources/mapper/system/SysUserMapper.xml | 4 ++-- 6 files changed, 22 insertions(+), 18 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java index e9030e0a5..e4bcf78ac 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java @@ -125,7 +125,7 @@ public class SysUserController extends BaseController @PostMapping public AjaxResult add(@Validated @RequestBody SysUser user) { - if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user.getUserName()))) + if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user))) { return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,登录账号已存在"); } @@ -154,7 +154,11 @@ public class SysUserController extends BaseController { userService.checkUserAllowed(user); userService.checkUserDataScope(user.getUserId()); - if (StringUtils.isNotEmpty(user.getPhonenumber()) + if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user))) + { + return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,登录账号已存在"); + } + else if (StringUtils.isNotEmpty(user.getPhonenumber()) && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) { return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,手机号码已存在"); diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysRegisterService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysRegisterService.java index 061af232d..5e290b421 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysRegisterService.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysRegisterService.java @@ -41,9 +41,11 @@ public class SysRegisterService public String register(RegisterBody registerBody) { String msg = "", username = registerBody.getUsername(), password = registerBody.getPassword(); + SysUser sysUser = new SysUser(); + sysUser.setUserName(username); - boolean captchaEnabled = configService.selectCaptchaEnabled(); // 验证码开关 + boolean captchaEnabled = configService.selectCaptchaEnabled(); if (captchaEnabled) { validateCaptcha(username, registerBody.getCode(), registerBody.getUuid()); @@ -67,16 +69,14 @@ public class SysRegisterService { msg = "密码长度必须在5到20个字符之间"; } - else if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(username))) + else if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(sysUser))) { msg = "保存用户'" + username + "'失败,注册账号已存在"; } else { - SysUser sysUser = new SysUser(); - sysUser.setUserName(username); sysUser.setNickName(username); - sysUser.setPassword(SecurityUtils.encryptPassword(registerBody.getPassword())); + sysUser.setPassword(SecurityUtils.encryptPassword(password)); boolean regFlag = userService.registerUser(sysUser); if (!regFlag) { @@ -84,8 +84,7 @@ public class SysRegisterService } else { - AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.REGISTER, - MessageUtils.message("user.register.success"))); + AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.REGISTER, MessageUtils.message("user.register.success"))); } } return msg; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java index 28713f6e6..c86acea45 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java @@ -107,7 +107,7 @@ public interface SysUserMapper * @param userName 用户名称 * @return 结果 */ - public int checkUserNameUnique(String userName); + public SysUser checkUserNameUnique(String userName); /** * 校验手机号码是否唯一 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java index 29193ceab..54ed035c9 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java @@ -69,10 +69,10 @@ public interface ISysUserService /** * 校验用户名称是否唯一 * - * @param userName 用户名称 + * @param user 用户信息 * @return 结果 */ - public String checkUserNameUnique(String userName); + public String checkUserNameUnique(SysUser user); /** * 校验手机号码是否唯一 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index 3e1680fa7..017a358f3 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -161,14 +161,15 @@ public class SysUserServiceImpl implements ISysUserService /** * 校验用户名称是否唯一 * - * @param userName 用户名称 + * @param user 用户信息 * @return 结果 */ @Override - public String checkUserNameUnique(String userName) + public String checkUserNameUnique(SysUser user) { - int count = userMapper.checkUserNameUnique(userName); - if (count > 0) + Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); + SysUser info = userMapper.checkUserNameUnique(user.getUserName()); + if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) { return UserConstants.NOT_UNIQUE; } diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml index 9f1839c10..3c1c6c547 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -130,8 +130,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where u.user_id = #{userId} - + select user_id, user_name from sys_user where user_name = #{userName} and del_flag = '0' limit 1