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

64 lines
2.0 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;
}
}
}