Files
shz-dataDashboard/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/RoleUtils.java

111 lines
3.5 KiB
Java
Raw Normal View History

2026-01-09 20:13:01 +08:00
package com.ruoyi.cms.util;
import com.ruoyi.common.core.domain.entity.AppUser;
2026-01-13 20:16:14 +08:00
import com.ruoyi.common.core.domain.entity.Company;
2026-01-09 20:13:01 +08:00
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginSiteUser;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.SiteSecurityUtils;
/**
* 判断是否企业用户
*/
public class RoleUtils {
/**
* 验证用户角色是否是企业用户
* @return
*/
public static boolean isCompanyAdmin() {
// 先判断用户是否登录
if (!SecurityUtils.isLogin()) {
return false;
}
// 获取当前登录用户的角色列表判断是否包含企业管理员角色ID
LoginUser loginUser = SecurityUtils.getLoginUser();
return loginUser.getUser().getRoles().stream()
.anyMatch(role -> StringUtil.COMPANY_ADMIN_ROLE_KEY.equals(role.getRoleId()));
}
/**
* 获取身份证或统一信用代码
* @return
*/
public static String getCurrentUseridCard() {
LoginUser loginUser = SecurityUtils.getLoginUser(); // 已包含登录校验
SysUser sysUser = loginUser.getUser();
if (sysUser == null) {
throw new IllegalArgumentException("用户信息为空,无法获取身份证号");
}
return sysUser.getIdCard();
}
/**
* 获取App用户身份证或统一信用代码
* @return
*/
public static String getAppCurrentUseridCard(){
if (!SiteSecurityUtils.isLogin()) {
return null;
}
LoginSiteUser loginSiteUser = SiteSecurityUtils.getLoginUser();
AppUser appUser = loginSiteUser.getUser();
if (appUser == null) {
throw new IllegalArgumentException("用户信息为空,无法获取身份证号"); // 用户信息为空仍抛异常,避免空指针
}
if ("0".equals(appUser.getIsCompanyUser())) {
return appUser.getIdCard();
} else {
return null;
}
}
/**
* 获取用户角色
* @return
*/
public static String getAppIscompanyUser(){
LoginSiteUser loginSiteUser = SiteSecurityUtils.getLoginUser();
AppUser appUser = loginSiteUser.getUser();
if (appUser == null) {
throw new IllegalArgumentException("用户信息为空,无法获取身份证号"); // 用户信息为空仍抛异常,避免空指针
}
return appUser.getIsCompanyUser();
}
2026-01-13 20:16:14 +08:00
/**
* 获取当前登录的App用户
* @return AppUser
*/
public static AppUser getAppUser() {
if (!SiteSecurityUtils.isLogin()) {
return null;
}
LoginSiteUser loginSiteUser = SiteSecurityUtils.getLoginUser();
return loginSiteUser.getUser();
}
/**
* 判断当前用户是否是企业用户
* @return true=企业用户
*/
public static boolean isCompanyUser() {
AppUser appUser = getAppUser();
return appUser != null && StringUtil.IS_COMPANY_USER.equals(appUser.getIsCompanyUser());
}
/**
* 获取当前企业用户的企业信用代码
* @return 企业信用代码非企业用户返回null
*/
public static String getCompanyCode() {
AppUser appUser = getAppUser();
if (appUser != null && StringUtil.IS_COMPANY_USER.equals(appUser.getIsCompanyUser())) {
return appUser.getIdCard();
}
return null;
}
2026-01-09 20:13:01 +08:00
}