refactor: 重构权限变更逻辑,修改角色、变更用户角色不再下线用户

This commit is contained in:
2024-08-31 20:32:50 +08:00
parent 25240fa819
commit ad9a6000fc
11 changed files with 120 additions and 167 deletions

View File

@@ -25,6 +25,7 @@ import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Set;
import java.util.stream.Collectors;
/**
* 登录用户信息
@@ -109,16 +110,17 @@ public class LoginUser implements Serializable {
*/
private Integer passwordExpirationDays;
public LoginUser(Set<String> permissions,
Set<String> roleCodes,
Set<RoleDTO> roles,
Integer passwordExpirationDays) {
public LoginUser(Set<String> permissions, Set<RoleDTO> roles, Integer passwordExpirationDays) {
this.permissions = permissions;
this.roleCodes = roleCodes;
this.roles = roles;
this.setRoles(roles);
this.passwordExpirationDays = passwordExpirationDays;
}
public void setRoles(Set<RoleDTO> roles) {
this.roles = roles;
this.roleCodes = roles.stream().map(RoleDTO::getCode).collect(Collectors.toSet());
}
/**
* 是否为管理员
*

View File

@@ -69,6 +69,18 @@ public class LoginHelper {
return tokenValue;
}
/**
* 更新登录用户信息
*
* @param loginUser
* 登录用户信息
* @param token 令牌
*/
public static void updateLoginUser(LoginUser loginUser, String token) {
SaHolder.getStorage().delete(CacheConstants.LOGIN_USER_KEY);
StpUtil.getTokenSessionByToken(token).set(CacheConstants.LOGIN_USER_KEY, loginUser);
}
/**
* 获取登录用户信息
*