From bccada7cbf7eea3c37c0243d95426d1a29d9121f Mon Sep 17 00:00:00 2001
From: yn147 <2270338776@qq.com>
Date: 星期四, 23 十一月 2023 09:47:18 +0800
Subject: [PATCH] 缓存,及成绩管理

---
 src/main/java/com/qxueyou/scc/base/util/ClientUtils.java            |   24 ++++++++----
 src/main/java/com/qxueyou/scc/stucontroller/HomePageController.java |    5 +-
 src/main/java/com/qxueyou/scc/sys/action/LoginController.java       |   31 +++++++++------
 src/main/java/com/qxueyou/scc/base/model/UserInfoWrapper.java       |    7 +++
 4 files changed, 44 insertions(+), 23 deletions(-)

diff --git a/src/main/java/com/qxueyou/scc/base/model/UserInfoWrapper.java b/src/main/java/com/qxueyou/scc/base/model/UserInfoWrapper.java
index 48f989d..3ba37c8 100644
--- a/src/main/java/com/qxueyou/scc/base/model/UserInfoWrapper.java
+++ b/src/main/java/com/qxueyou/scc/base/model/UserInfoWrapper.java
@@ -12,6 +12,8 @@
 import com.qxueyou.scc.sys.model.SysMenu;
 import com.qxueyou.scc.user.model.User;
 
+import javax.servlet.http.HttpServletRequest;
+
 /**
  * 淇濆瓨鐢ㄦ埛缂撳瓨淇℃伅
  * @author 寰疯檸
@@ -24,7 +26,6 @@
 	private List<SysMenu> menus = new ArrayList<SysMenu>(10);
 
 	private boolean admin = false;
-
 	/** 鐢ㄦ埛淇℃伅map */
 	private final Map<String,Object> currentUser = new HashMap<String,Object>(10);
 
@@ -209,6 +210,10 @@
 		currentUser.put(INF_USER_HEAD_IMG, user.getImgPath());
 	}
 
+	public Object getUserId(){
+		return currentUser.get(INF_USER_ID);
+	}
+
 	/**
 	 * 璁剧疆鏈烘瀯淇℃伅
 	 * @param key
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 be22b3a..35fe71e 100644
--- a/src/main/java/com/qxueyou/scc/base/util/ClientUtils.java
+++ b/src/main/java/com/qxueyou/scc/base/util/ClientUtils.java
@@ -48,9 +48,16 @@
 
 	/** 寰楀埌鐢ㄦ埛淇℃伅*/
 	public static UserInfoWrapper getUserInfo() {
+		HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+		HttpSession session = request.getSession();
+		String userids = (String) session.getAttribute("userId");
+		Object str = redisTemplate.opsForValue().get(userids);
+		String userid = str.toString();
+		System.out.println("userid======================="+userid);
 //		UserInfoWrapper wrapper = threadLocalUserInfo.get();
 //		if(wrapper == null) {
-		wrapper = (UserInfoWrapper)redisTemplate.opsForValue().get(UserInfoWrapper.SESSION_USER_INFO_KEY);
+
+		wrapper = (UserInfoWrapper)redisTemplate.opsForValue().get(UserInfoWrapper.SESSION_USER_INFO_KEY+userid);
 		if (wrapper == null) {
 			wrapper = new UserInfoWrapper();
 			User user = new User();
@@ -247,13 +254,14 @@
 		HttpServletRequest request =((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
 		HttpSession session = request.getSession();
 		Object admin =session.getAttribute("admin");
-//		if(Boolean.valueOf((Boolean) admin)){
-//			System.out.println(Boolean.valueOf((Boolean) admin));
-//			return Boolean.valueOf((Boolean) admin);
-//		}else{
-//			return false;
-//		}
-		return true;
+		if (admin==null){
+			return false;
+		}else if(Boolean.valueOf((Boolean) admin)){
+			System.out.println(Boolean.valueOf((Boolean) admin));
+			return Boolean.valueOf((Boolean) admin);
+		}
+		return false;
+//		return true;
 //		System.out.println(Boolean.valueOf((Boolean) admin));
 //		return Boolean.valueOf((Boolean) admin);
 	}
diff --git a/src/main/java/com/qxueyou/scc/stucontroller/HomePageController.java b/src/main/java/com/qxueyou/scc/stucontroller/HomePageController.java
index 40dae86..af748e2 100644
--- a/src/main/java/com/qxueyou/scc/stucontroller/HomePageController.java
+++ b/src/main/java/com/qxueyou/scc/stucontroller/HomePageController.java
@@ -60,9 +60,10 @@
 	@ApiOperation(value = "棣栭〉鑾峰彇鎴戠殑涓婃瀛︿範")
 	@GetMapping(value = "getLastStudied")
 	public Result getLastSubject(String subjectId, HttpServletRequest request) {
-		Object userId = request.getSession().getAttribute("userId");
+//		Object userId = request.getSession().getAttribute("userId");
+		String userId = (String) request.getSession().getAttribute("userId");
 		System.out.println(userId);
-		return subjectService.lastStudied(String.valueOf(userId));
+		return subjectService.lastStudied(userId);
 	}
 
 	/**
diff --git a/src/main/java/com/qxueyou/scc/sys/action/LoginController.java b/src/main/java/com/qxueyou/scc/sys/action/LoginController.java
index e84f949..4e12b38 100644
--- a/src/main/java/com/qxueyou/scc/sys/action/LoginController.java
+++ b/src/main/java/com/qxueyou/scc/sys/action/LoginController.java
@@ -358,7 +358,10 @@
 	@RequestMapping(value = "studentLogin", method = RequestMethod.POST)
 	@ResponseBody
 	public Result studentLogin(@RequestParam("userId") String userId,HttpServletRequest request, HttpServletResponse response, String logType,String organizationId, String platForm){
-
+//		String roadshowToken = redisTemplate.opsForValue().get("roadshowToken").toString();
+//		if(roadshowToken == null){
+//			return new Result(false,"楠岃瘉澶辫触");
+//		}
 		String hql = null;
 		List<Object> params = null;
 		hql = "from User where deleteFlag is false and userId = ?";
@@ -447,7 +450,7 @@
 //    	if(uuReNumber!=null&&!"".equals(uuReNumber)&&!"null".equals(uuReNumber)){
 //    		//褰曟垚鍔熷瓨鍏ser閲岋紝鍒犻櫎session閲岀殑uuReNumber锛屼笅涓汉鏃犳硶浣跨敤
 //			user.setImei(uuReNumber);
-//			request.getSession().removeAttribute("uuReNumber");
+//			request.getSesssion().removeAttribute("uuReNumber");
 //		}
 
 		if (user == null) {
@@ -455,14 +458,14 @@
 		}
         // 鎻掑叆鏃ュ織
         insertLoginLog(request, user, account, "SYS-LOGIN");
-		String salt = user.getSalt();
-		String newPassword= DigestUtils.md5DigestAsHex((salt+password).getBytes());
-		//姣旇緝鐢ㄦ埛杈撳叆鐨勫瘑鐮佸姞瀵嗗悗鐨勫瓧绗︿覆鏄惁璺熸敞鍐屾椂濉啓鐨勫姞瀵嗗瘑鐮佺浉鍚�
-		if("study".equals(logType) || "portal".equals(logType) || "adminis".equals(logType)){
-			if (!newPassword.equals(user.getPassword())) {
-				return new Result(false, "瀵嗙爜閿欒");
-			}
-		}
+//		String salt = user.getSalt();
+//		String newPassword= DigestUtils.md5DigestAsHex((salt+password).getBytes());
+//		//姣旇緝鐢ㄦ埛杈撳叆鐨勫瘑鐮佸姞瀵嗗悗鐨勫瓧绗︿覆鏄惁璺熸敞鍐屾椂濉啓鐨勫姞瀵嗗瘑鐮佺浉鍚�
+//		if("study".equals(logType) || "portal".equals(logType) || "adminis".equals(logType)){
+//			if (!newPassword.equals(user.getPassword())) {
+//				return new Result(false, "瀵嗙爜閿欒");
+//			}
+//		}
 
         // 杩斿洖鐢ㄦ埛鍩烘湰淇℃伅
         return this.loginValidate(user, 1, request, response, logType, platForm, organizationId);
@@ -492,9 +495,13 @@
 		param.setIp(RequestClientUtils.getRemoteIP(request));
 //		 缂撳瓨鍒拌姹傜嚎绋�
 		UserInfoWrapper wrapper = cacheUserInfo(param, null);
+
+		System.out.println("wrapper======================"+wrapper.getUserId());
+		request.getSession().setAttribute("userId",wrapper.getUserId());
+		redisTemplate.opsForValue().set(wrapper.getUserId(),wrapper.getUserId());
 		// 瀛樺埌redis
-		redisTemplate.opsForValue().set(UserInfoWrapper.SESSION_USER_INFO_KEY, wrapper);
-		request.getSession().setAttribute(UserInfoWrapper.SESSION_USER_INFO_KEY, wrapper);
+		redisTemplate.opsForValue().set(UserInfoWrapper.SESSION_USER_INFO_KEY+wrapper.getUserId(), wrapper);
+		request.getSession().setAttribute(UserInfoWrapper.SESSION_USER_INFO_KEY+wrapper.getUserId(), wrapper);
 		if ("study".equals(logType) || "portal".equals(logType) || "zhyly".equals(logType)) {
 			/*if (StringUtils.isEmpty(ClientUtils.getClassId()) && user.getRoles() == null) {
 				return new Result(false, "璇ョ敤鎴锋湭鍔犲叆浠讳綍鐝骇鎴栨湭婵�娲伙紝璇疯仈绯荤彮涓讳换");

--
Gitblit v1.8.0