64 lines
2.0 KiB
Java
64 lines
2.0 KiB
Java
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;
|
||
}
|
||
}
|
||
} |