update 更改角色刷新缓存

This commit is contained in:
疯狂的狮子li 2021-12-03 19:13:15 +08:00
parent e763381186
commit dff7d70f0a
4 changed files with 21 additions and 4 deletions

View File

@ -11,7 +11,6 @@ import com.ruoyi.common.utils.LoginUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.system.domain.vo.RouterVo;
import com.ruoyi.system.service.ISysMenuService;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.system.service.SysLoginService;
import com.ruoyi.system.service.SysPermissionService;
import io.swagger.annotations.Api;
@ -42,7 +41,6 @@ public class SysLoginController {
private final SysLoginService loginService;
private final ISysMenuService menuService;
private final ISysUserService userService;
private final SysPermissionService permissionService;
/**

View File

@ -7,12 +7,16 @@ import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.LoginUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.domain.SysUserRole;
import com.ruoyi.system.service.ISysRoleService;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.system.service.SysPermissionService;
import io.swagger.annotations.*;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
@ -36,6 +40,7 @@ public class SysRoleController extends BaseController {
private final ISysRoleService roleService;
private final ISysUserService userService;
private final SysPermissionService permissionService;
@ApiOperation("查询角色信息列表")
@SaCheckPermission("system:role:list")
@ -97,6 +102,13 @@ public class SysRoleController extends BaseController {
}
if (roleService.updateRole(role) > 0) {
// 更新缓存用户权限
LoginUser loginUser = getLoginUser();
SysUser sysUser = userService.selectUserById(loginUser.getUserId());
if (StringUtils.isNotNull(sysUser) && !sysUser.isAdmin()) {
loginUser.setMenuPermission(permissionService.getMenuPermission(sysUser));
LoginUtils.setLoginUser(loginUser);
}
return AjaxResult.success();
}
return AjaxResult.error("修改角色'" + role.getRoleName() + "'失败,请联系管理员");

View File

@ -70,7 +70,7 @@ public class BaseController {
/**
* 获取用户缓存信息
*/
public LoginUser getUser() {
public LoginUser getLoginUser() {
return LoginUtils.getLoginUser();
}

View File

@ -24,7 +24,7 @@ public class LoginUtils {
*/
public static void login(LoginUser loginUser, UserType userType) {
StpUtil.login(userType.getUserType() + loginUser.getUserId());
StpUtil.getTokenSession().set(LOGIN_USER_KEY, loginUser);
setLoginUser(loginUser);
}
/**
@ -34,6 +34,13 @@ public class LoginUtils {
*/
public static void loginByDevice(LoginUser loginUser, UserType userType, DeviceType deviceType) {
StpUtil.login(userType.getUserType() + loginUser.getUserId(), deviceType.getDevice());
setLoginUser(loginUser);
}
/**
* 设置用户数据
*/
public static void setLoginUser(LoginUser loginUser) {
StpUtil.getTokenSession().set(LOGIN_USER_KEY, loginUser);
}