| | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import com.qxueyou.scc.base.dao.AbstractRedisTemplate; |
| | | import com.qxueyou.scc.base.dao.CommonRedisTemplate; |
| | | import com.qxueyou.scc.base.model.UserInfoWrapper; |
| | | import com.qxueyou.scc.base.service.impl.RedisCacheBean; |
| | | import com.qxueyou.scc.sys.utils.SpringContextHolder; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | |
| | | import com.qxueyou.scc.base.model.Constants; |
| | |
| | | import com.qxueyou.scc.sys.model.ResponseResult; |
| | | import com.qxueyou.scc.sys.model.SysMenu; |
| | | import com.qxueyou.scc.user.model.User; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.data.redis.cache.RedisCache; |
| | | import org.springframework.data.redis.cache.RedisCacheManager; |
| | | import org.springframework.data.redis.core.RedisAccessor; |
| | | import org.springframework.data.redis.core.RedisTemplate; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.stereotype.Repository; |
| | | import org.springframework.web.context.request.RequestContextHolder; |
| | | import org.springframework.web.context.request.ServletRequestAttributes; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import javax.servlet.http.HttpSession; |
| | | |
| | | |
| | | /** |
| | | * 客户端信息处理工具类 |
| | | * @author 德虎 2014-12-29 |
| | | * 客户端信息处理工具类 |
| | | * @author 德虎 2014-12-29 |
| | | * |
| | | */ |
| | | public final class ClientUtils { |
| | | |
| | | /* |
| | | * 线程变量: 用户信息 |
| | | * 线程变量: 用户信息 |
| | | */ |
| | | private static ThreadLocal<UserInfoWrapper> threadLocalUserInfo = new ThreadLocal<UserInfoWrapper>(); |
| | | private static UserInfoWrapper wrapper = threadLocalUserInfo.get(); |
| | | |
| | | /** 得到用户信息*/ |
| | | private static RedisTemplate redisTemplate = (RedisTemplate)SpringContextHolder.getBean("redisTemplate"); |
| | | |
| | | /** 得到用户信息*/ |
| | | public static UserInfoWrapper getUserInfo() { |
| | | UserInfoWrapper wrapper = threadLocalUserInfo.get(); |
| | | if(wrapper == null){ |
| | | // UserInfoWrapper wrapper = threadLocalUserInfo.get(); |
| | | // if(wrapper == null) { |
| | | wrapper = (UserInfoWrapper)redisTemplate.opsForValue().get(UserInfoWrapper.SESSION_USER_INFO_KEY); |
| | | if (wrapper == null) { |
| | | wrapper = new UserInfoWrapper(); |
| | | User user = new User(); |
| | | //默认值,上传可以作为默认上传者 |
| | | //默认值,上传可以作为默认上传者 |
| | | user.setUserId(Constants.VISITOR_USER_ID); |
| | | user.setName(Constants.VISITOR_USER_ID); |
| | | wrapper.setUser(user); |
| | | setUserInfo(wrapper); |
| | | } |
| | | // } |
| | | // else{ |
| | | // redisTemplate.opsForValue().set(UserInfoWrapper.SESSION_USER_INFO_KEY,wrapper); |
| | | // } |
| | | |
| | | return wrapper; |
| | | } |
| | | |
| | | |
| | | /** 设置用户信息*/ |
| | | /** 设置用户信息*/ |
| | | public static void setUserInfo(UserInfoWrapper wrapper) { |
| | | threadLocalUserInfo.remove(); |
| | | threadLocalUserInfo.set(wrapper); |
| | | } |
| | | |
| | | /** 得到userId*/ |
| | | /** 得到userId*/ |
| | | public static String getUserId(){ |
| | | HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); |
| | | HttpSession session = request.getSession(); |
| | |
| | | return info; |
| | | } |
| | | |
| | | /** 得到userName*/ |
| | | /** 得到userName*/ |
| | | public static String getUserName(){ |
| | | HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); |
| | | HttpSession session = request.getSession(); |
| | | String info = getUserInfo().getInfo(UserInfoWrapper.INF_USER_NAME); |
| | | if(info!=null){ |
| | | info= (String) session.getAttribute(UserInfoWrapper.INF_USER_NAME); |
| | | } |
| | | // if(info!=null){ |
| | | // info= (String) session.getAttribute(UserInfoWrapper.INF_USER_NAME); |
| | | // } |
| | | return info; |
| | | } |
| | | |
| | | /** 得到用户头像*/ |
| | | /** 得到用户头像*/ |
| | | public static String getUserImg(){ |
| | | return getUserInfo().getInfo(UserInfoWrapper.INF_USER_HEAD_IMG); |
| | | // return session.getAttribute(); |
| | | } |
| | | |
| | | /** 得到手机号*/ |
| | | /** 得到手机号*/ |
| | | public static String getUserMobilePhone(){ |
| | | return getUserInfo().getInfo(UserInfoWrapper.INF_USER_MOBILE_PHONE); |
| | | } |
| | | |
| | | /** 得到帐号*/ |
| | | /** 得到帐号*/ |
| | | public static String getUserAccount(){ |
| | | return getUserInfo().getInfo(UserInfoWrapper.INF_USER_ACCOUNT); |
| | | } |
| | | |
| | | /** 得到classId*/ |
| | | /** 得到classId*/ |
| | | public static String getClassId(){ |
| | | HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); |
| | | HttpSession session = request.getSession(); |
| | | String info = getUserInfo().getInfo(UserInfoWrapper.INF_CLASS_ID); |
| | | if(info!=null){ |
| | | info= (String) session.getAttribute(UserInfoWrapper.INF_CLASS_ID); |
| | | } |
| | | // HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); |
| | | // HttpSession session = request.getSession(); |
| | | // String info = getUserInfo().getInfo(UserInfoWrapper.INF_CLASS_ID); |
| | | // if(info!=null){ |
| | | // info= (String) session.getAttribute(UserInfoWrapper.INF_CLASS_ID); |
| | | // } |
| | | return info; |
| | | // return getUserInfo().getInfo(UserInfoWrapper.); |
| | | } |
| | | |
| | | /** 得到className*/ |
| | | /** 得到className*/ |
| | | public static String getClassName(){ |
| | | HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); |
| | | HttpSession session = request.getSession(); |
| | | String info = getUserInfo().getInfo(UserInfoWrapper.INF_CLASS_NAME); |
| | | if(info!=null){ |
| | | info= (String) session.getAttribute(UserInfoWrapper.INF_CLASS_NAME); |
| | | } |
| | | // if(info!=null){ |
| | | // info= (String) session.getAttribute(UserInfoWrapper.INF_CLASS_NAME); |
| | | // } |
| | | return info; |
| | | // System.out.println("CLassName"+session.getAttribute("className")); |
| | | // return (String) session.getAttribute("className"); |
| | |
| | | return getUserInfo().getInfo(UserInfoWrapper.INF_CLASS_CHARGER); |
| | | } |
| | | |
| | | /** 得到科目ID*/ |
| | | /** 得到科目ID*/ |
| | | public static String getCourseId(){ |
| | | return getUserInfo().getInfo(UserInfoWrapper.INF_COURSE_ID); |
| | | } |
| | | |
| | | /** 得到科目Name*/ |
| | | /** 得到科目Name*/ |
| | | public static String getCourseName(){ |
| | | return getUserInfo().getInfo(UserInfoWrapper.INF_COURSE_NAME); |
| | | } |
| | | |
| | | /** 得到机构ID*/ |
| | | /** 得到机构ID*/ |
| | | public static String getOrgId(){ |
| | | return "1"; |
| | | } |
| | | |
| | | /** 得到最上层机构ID*/ |
| | | /** 得到最上层机构ID*/ |
| | | public static String getTopOrgId(){ |
| | | return getUserInfo().getInfo(UserInfoWrapper.INF_TOP_ORG_ID); |
| | | } |
| | | |
| | | /** 得到机构CODE*/ |
| | | /** 得到机构CODE*/ |
| | | public static String getOrgCode(){ |
| | | return getUserInfo().getInfo(UserInfoWrapper.INF_ORG_CODE); |
| | | } |
| | | |
| | | /** 得到机构NAME*/ |
| | | /** 得到机构NAME*/ |
| | | public static String getOrgName(){ |
| | | return getUserInfo().getInfo(UserInfoWrapper.INF_ORG_NAME); |
| | | } |
| | | |
| | | /** 得到机构SHORTNAME*/ |
| | | /** 得到机构SHORTNAME*/ |
| | | public static String getOrgShortName(){ |
| | | return getUserInfo().getInfo(UserInfoWrapper.INF_ORG_SHORT_NAME); |
| | | } |
| | | |
| | | /** 得到机构LOGO*/ |
| | | /** 得到机构LOGO*/ |
| | | public static String getOrgLogoPath(){ |
| | | return getUserInfo().getInfo(UserInfoWrapper.INF_ORG_LOGO_PATH); |
| | | } |
| | | |
| | | /** 得到当前角色*/ |
| | | /** 得到当前角色*/ |
| | | public static String getCurrentRole(){ |
| | | return getUserInfo().getCurrentRole(); |
| | | } |
| | | |
| | | |
| | | /** 得到当前角色编码*/ |
| | | /** 得到当前角色编码*/ |
| | | public static String getCurrentRoleEName(){ |
| | | return getUserInfo().getInfo(UserInfoWrapper.INF_ROLE_ENAME); |
| | | } |
| | | |
| | | /** 得到当前角色ID*/ |
| | | /** 得到当前角色ID*/ |
| | | public static String getCurrentRoleId(){ |
| | | return getUserInfo().getCurrentRoleId(); |
| | | } |
| | | |
| | | /** 得到当前角色值*/ |
| | | /** 得到当前角色值*/ |
| | | public static String getCurrentRoleValue(){ |
| | | return getUserInfo().getCurrentRoleValue(); |
| | | } |
| | | |
| | | /** 得到当前角色信息*/ |
| | | /** 得到当前角色信息*/ |
| | | public static List<Map<String,Object>> getRoleInfo(String role){ |
| | | return getUserInfo().getRoleInfo(role); |
| | | } |
| | | |
| | | /** 获取当前就是 菜单信息*/ |
| | | /** 获取当前就是 菜单信息*/ |
| | | public static List<SysMenu> getMenuInfo(){ |
| | | return getUserInfo().getMenus(); |
| | | } |
| | |
| | | return getUserInfo().getButtonPrivilegeEdit(); |
| | | } |
| | | |
| | | /** 当前登录IP*/ |
| | | /** 当前登录IP*/ |
| | | public static String getCurrentLoginIp(){ |
| | | return getUserInfo().getCurrentLoginIp(); |
| | | } |
| | | |
| | | /** |
| | | * 获取用户基本信息 |
| | | * 获取用户基本信息 |
| | | * @return |
| | | */ |
| | | public static ResponseResult getUserBaseInfo(User user){ |
| | | ResponseResult userInfo = new ResponseResult(); |
| | | // 用户 |
| | | // 用户 |
| | | userInfo.setUserId(user.getUserId()); |
| | | userInfo.setUserName(user.getName()); |
| | | userInfo.setImgPath(StringUtils.isNotBlank(user.getImgPath()) ? user.getImgPath() : FilePathConstants.USER_DEFAULT_IMG ); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 是否为管理员 |
| | | * 是否为管理员 |
| | | * @return |
| | | */ |
| | | public static boolean isAdmin(){ |