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

64 lines
2.0 KiB
Java
Raw Normal View History

package com.ruoyi.cms.util;
import com.ruoyi.common.core.domain.entity.AppUser;
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;
}
}
}