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