From f72ce39c135c8cea4c39bfda8d7ed8d92a09d7bd Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期二, 02 一月 2024 13:00:19 +0800 Subject: [PATCH] fix 修复 关闭租户功能 三方登录报错问题 --- ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java | 23 ++++++++++++++--------- 1 files changed, 14 insertions(+), 9 deletions(-) diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java b/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java index ef5335f..a269d38 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java @@ -25,13 +25,10 @@ import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.system.domain.SysUser; import org.dromara.system.domain.bo.SysSocialBo; -import org.dromara.system.domain.vo.SysSocialVo; -import org.dromara.system.domain.vo.SysTenantVo; -import org.dromara.system.domain.vo.SysUserVo; +import org.dromara.system.domain.vo.*; +import org.dromara.system.mapper.SysDeptMapper; import org.dromara.system.mapper.SysUserMapper; -import org.dromara.system.service.ISysPermissionService; -import org.dromara.system.service.ISysSocialService; -import org.dromara.system.service.ISysTenantService; +import org.dromara.system.service.*; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -59,6 +56,8 @@ private final ISysTenantService tenantService; private final ISysPermissionService permissionService; private final ISysSocialService sysSocialService; + private final ISysRoleService roleService; + private final SysDeptMapper deptMapper; private final SysUserMapper userMapper; @@ -97,6 +96,9 @@ public void logout() { try { LoginUser loginUser = LoginHelper.getLoginUser(); + if (ObjectUtil.isNull(loginUser)) { + return; + } if (TenantHelper.isEnable() && LoginHelper.isSuperAdmin()) { // 瓒呯骇绠$悊鍛� 鐧诲嚭娓呴櫎鍔ㄦ�佺鎴� TenantHelper.clearDynamic(); @@ -143,9 +145,12 @@ loginUser.setUserType(user.getUserType()); loginUser.setMenuPermission(permissionService.getMenuPermission(user.getUserId())); loginUser.setRolePermission(permissionService.getRolePermission(user.getUserId())); - loginUser.setDeptName(ObjectUtil.isNull(user.getDept()) ? "" : user.getDept().getDeptName()); - List<RoleDTO> roles = BeanUtil.copyToList(user.getRoles(), RoleDTO.class); - loginUser.setRoles(roles); + SysDeptVo dept = deptMapper.selectVoById(user.getDeptId()); + loginUser.setDeptName(ObjectUtil.isNull(dept) ? "" : dept.getDeptName()); + List<SysRoleVo> roles = DataPermissionHelper.ignore(() -> { + return roleService.selectRolesByUserId(user.getUserId()); + }); + loginUser.setRoles(BeanUtil.copyToList(roles, RoleDTO.class)); return loginUser; } -- Gitblit v1.9.3