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