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