From 96286178ee1c257c130cb2ad964a781f36c4eee5 Mon Sep 17 00:00:00 2001 From: yn147 <2270338776@qq.com> Date: 星期三, 10 五月 2023 16:23:27 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/main/java/com/qxueyou/scc/base/util/ClientUtils.java | 116 ++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 73 insertions(+), 43 deletions(-) diff --git a/src/main/java/com/qxueyou/scc/base/util/ClientUtils.java b/src/main/java/com/qxueyou/scc/base/util/ClientUtils.java index 8ede9cf..be22b3a 100644 --- a/src/main/java/com/qxueyou/scc/base/util/ClientUtils.java +++ b/src/main/java/com/qxueyou/scc/base/util/ClientUtils.java @@ -3,7 +3,11 @@ 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; @@ -11,51 +15,67 @@ 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(); @@ -66,45 +86,55 @@ return info; } - /** 得到userName*/ + /** 寰楀埌userName*/ public static String getUserName(){ -// HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); -// HttpSession session = request.getSession(); - return getUserInfo().getInfo(UserInfoWrapper.INF_USER_NAME); -// return (String) session.getAttribute("userName"); + 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); +// } + 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(){ - return getUserInfo().getInfo(UserInfoWrapper.INF_CLASS_NAME); + 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); +// } + return info; // System.out.println("CLassName"+session.getAttribute("className")); // return (String) session.getAttribute("className"); } @@ -114,73 +144,73 @@ 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(); } @@ -190,18 +220,18 @@ 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 ); @@ -210,7 +240,7 @@ } /** - * 是否为管理员 + * 鏄惁涓虹鐞嗗憳 * @return */ public static boolean isAdmin(){ -- Gitblit v1.8.0