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