package com.ruoyi.common.securityContext; import com.ruoyi.common.exception.ServiceException; import org.apache.commons.lang3.ObjectUtils; /** * 线程变量,保存超算用户信息 */ public class CsOrderMemberUserSecurityContext { public static ThreadLocal securityHolder = ThreadLocal.withInitial(() -> null); /** * 设置线程变量超算用户信息 * @param csUserInfo 超算用户信息 */ public static void set(CsOrderMemberUser csUserInfo) { securityHolder.set(csUserInfo); } /** * 获取线程变量超算用户信息 */ public static CsOrderMemberUser get() { return getWithCheck(); } /** * 获取线程变量超算用户信息-校验 */ public static CsOrderMemberUser getWithCheck() { CsOrderMemberUser userInfo = securityHolder.get(); if (ObjectUtils.isEmpty(userInfo)){ throw new ServiceException("登陆失效,请重新登录。", 403); }else { return userInfo; } } /** * 清除线程变量超算用户信息 */ public static void clear() { securityHolder.remove(); } /** * 获取超算用户ID * @return 结果 */ public static String getMemberUserId(){ return get().getMemberUserId(); } /** * 获取超算用户名称 * @return 结果 */ public static String getName(){ return get().getName(); } /** * 获取超算用户手机号 * @return 结果 */ public static String getPhone(){ return get().getPhone(); } /** * 获取超算用户邮箱 * @return 结果 */ public static String getEmail(){ return get().getEmail(); } /** * 获取超算用户工作单位ID * @return 结果 */ public static Long getCompanyId(){ return get().getCompanyId(); } /** * 获取超算用户部门/院系ID * @return 结果 */ public static Long getDeptId(){ return get().getDeptId(); } }