update 优化 getLoginUser 方法 支持返回多种类型登陆实体

This commit is contained in:
疯狂的狮子Li
2025-03-07 15:12:15 +08:00
parent 8879fc6f1b
commit 0e28aa7509

View File

@@ -62,23 +62,25 @@ public class LoginHelper {
/**
* 获取用户(多级缓存)
*/
public static LoginUser getLoginUser() {
@SuppressWarnings("unchecked cast")
public static <T extends LoginUser> T getLoginUser() {
SaSession session = StpUtil.getTokenSession();
if (ObjectUtil.isNull(session)) {
return null;
}
return (LoginUser) session.get(LOGIN_USER_KEY);
return (T) session.get(LOGIN_USER_KEY);
}
/**
* 获取用户基于token
*/
public static LoginUser getLoginUser(String token) {
@SuppressWarnings("unchecked cast")
public static <T extends LoginUser> T getLoginUser(String token) {
SaSession session = StpUtil.getTokenSessionByToken(token);
if (ObjectUtil.isNull(session)) {
return null;
}
return (LoginUser) session.get(LOGIN_USER_KEY);
return (T) session.get(LOGIN_USER_KEY);
}
/**
@@ -191,7 +193,11 @@ public class LoginHelper {
* @return 结果
*/
public static boolean isTenantAdmin() {
return Convert.toBool(isTenantAdmin(getLoginUser().getRolePermission()));
LoginUser loginUser = getLoginUser();
if (loginUser == null) {
return false;
}
return Convert.toBool(isTenantAdmin(loginUser.getRolePermission()));
}
/**