From f6d699ce2e3a77b03d3ff8c37e0f273d99f18063 Mon Sep 17 00:00:00 2001 From: dataprince Date: Sat, 21 Oct 2023 11:57:32 +0800 Subject: [PATCH] =?UTF-8?q?Spring=20Boot=E5=8D=87=E7=BA=A7=E5=88=B0V3.1.5?= =?UTF-8?q?=E3=80=81redisson=E5=8D=87=E7=BA=A7=E5=88=B0V3.23.5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 4 +- .../core/core/domain/model/LoginBody.java | 1 - .../ruoyi/common/redis/utils/RedisUtils.java | 1 + .../common/security/utils/LoginHelper.java | 45 +++++++++---------- .../system/SysConfigController.java | 4 +- .../controller/system/SysUserController.java | 2 + .../service/impl/SysUserServiceImpl.java | 1 + 7 files changed, 29 insertions(+), 29 deletions(-) diff --git a/pom.xml b/pom.xml index c5a2f90..92825c2 100644 --- a/pom.xml +++ b/pom.xml @@ -17,7 +17,7 @@ UTF-8 UTF-8 17 - 3.1.4 + 3.1.5 1.7.2 1.37.0 8.0.33 @@ -45,7 +45,7 @@ 1.3.5 0.2.0 5.8.22 - 3.23.3 + 3.23.5 2.2.4 2.14.3 3.1.6 diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/core/domain/model/LoginBody.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/core/domain/model/LoginBody.java index ad8ecab..aea6e7b 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/core/domain/model/LoginBody.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/core/domain/model/LoginBody.java @@ -40,7 +40,6 @@ public class LoginBody /** * 租户ID */ - //@NotBlank(message = "{tenant.number.not.blank}") private Long tenantId; /** diff --git a/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/utils/RedisUtils.java b/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/utils/RedisUtils.java index 3d434ec..61e9620 100644 --- a/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/utils/RedisUtils.java +++ b/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/utils/RedisUtils.java @@ -26,6 +26,7 @@ public class RedisUtils { private static final RedissonClient CLIENT = SpringUtils.getBean(RedissonClient.class); + /** * 限流 * diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/utils/LoginHelper.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/utils/LoginHelper.java index 314256a..cbe802b 100644 --- a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/utils/LoginHelper.java +++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/utils/LoginHelper.java @@ -34,6 +34,7 @@ public class LoginHelper { public static final String LOGIN_USER_KEY = "loginUser"; public static final String TENANT_KEY = "tenantId"; public static final String USER_KEY = "userId"; + public static final String DEPT_KEY = "deptId"; public static final String CLIENT_KEY = "clientid"; /** @@ -48,11 +49,13 @@ public class LoginHelper { storage.set(LOGIN_USER_KEY, loginUser); storage.set(TENANT_KEY, loginUser.getTenantId()); storage.set(USER_KEY, loginUser.getUserId()); + storage.set(DEPT_KEY, loginUser.getDeptId()); model = ObjectUtil.defaultIfNull(model, new SaLoginModel()); //登录,生成token StpUtil.login(loginUser.getLoginId(), model.setExtra(TENANT_KEY, loginUser.getTenantId()) - .setExtra(USER_KEY, loginUser.getUserId())); + .setExtra(USER_KEY, loginUser.getUserId()) + .setExtra(DEPT_KEY, loginUser.getDeptId())); StpUtil.getSession().set(LOGIN_USER_KEY, loginUser); } @@ -89,41 +92,35 @@ public class LoginHelper { * 获取用户id */ public static Long getUserId() { - Long userId; - try { - userId = Convert.toLong(SaHolder.getStorage().get(USER_KEY)); - if (ObjectUtil.isNull(userId)) { - userId = Convert.toLong(StpUtil.getExtra(USER_KEY)); - SaHolder.getStorage().set(USER_KEY, userId); - } - } catch (Exception e) { - return null; - } - return userId; + return Convert.toLong(getExtra(USER_KEY)); } /** * 获取租户ID */ public static String getTenantId() { - String tenantId; - try { - tenantId = (String) SaHolder.getStorage().get(TENANT_KEY); - if (ObjectUtil.isNull(tenantId)) { - tenantId = (String) StpUtil.getExtra(TENANT_KEY); - SaHolder.getStorage().set(TENANT_KEY, tenantId); - } - } catch (Exception e) { - return null; - } - return tenantId; + return Convert.toStr(getExtra(TENANT_KEY)); } /** * 获取部门ID */ public static Long getDeptId() { - return getLoginUser().getDeptId(); + return Convert.toLong(getExtra(DEPT_KEY)); + } + + private static Object getExtra(String key) { + Object obj; + try { + obj = SaHolder.getStorage().get(key); + if (ObjectUtil.isNull(obj)) { + obj = StpUtil.getExtra(key); + SaHolder.getStorage().set(key, obj); + } + } catch (Exception e) { + return null; + } + return obj; } /** diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysConfigController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysConfigController.java index f961bb6..b0a947e 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysConfigController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysConfigController.java @@ -72,8 +72,8 @@ public class SysConfigController extends BaseController { */ @SaCheckPermission("system:config:query") @GetMapping(value = "/configKey/{configKey}") - public R getConfigKey(@PathVariable String configKey) { - return R.ok(configService.selectConfigByKey(configKey)); + public R getConfigKey(@PathVariable String configKey) { + return R.ok("操作成功", configService.selectConfigByKey(configKey)); } /** diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysUserController.java index 696dd1d..6904e52 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysUserController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysUserController.java @@ -175,6 +175,7 @@ public class SysUserController extends BaseController { @Log(title = "用户管理", businessType = BusinessType.INSERT) @PostMapping public R add(@Validated @RequestBody SysUserBo userBo) { + deptService.checkDeptDataScope(userBo.getDeptId()); if (!userService.checkUserNameUnique(userBo)) { return R.fail("新增用户'" + userBo.getUserName() + "'失败,登录账号已存在"); } else if (StringUtils.isNotEmpty(userBo.getPhonenumber()) && !userService.checkPhoneUnique(userBo)) { @@ -199,6 +200,7 @@ public class SysUserController extends BaseController { public R edit(@Validated @RequestBody SysUserBo userBo) { userService.checkUserAllowed(userBo.getUserId()); userService.checkUserDataScope(userBo.getUserId()); + deptService.checkDeptDataScope(userBo.getDeptId()); if (!userService.checkUserNameUnique(userBo)) { return R.fail("修改用户'" + userBo.getUserName() + "'失败,登录账号已存在"); } else if (StringUtils.isNotEmpty(userBo.getPhonenumber()) && !userService.checkPhoneUnique(userBo)) { diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index b59560b..8dbfd66 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -21,6 +21,7 @@ import com.ruoyi.common.orm.core.service.impl.BaseServiceImpl; import com.ruoyi.common.security.utils.LoginHelper; import com.ruoyi.system.domain.*; import com.ruoyi.system.domain.bo.SysUserBo; +import com.ruoyi.system.domain.vo.SysDeptVo; import com.ruoyi.system.domain.vo.SysPostVo; import com.ruoyi.system.domain.vo.SysRoleVo; import com.ruoyi.system.domain.vo.SysUserVo;