From ccfb7dd5574724024bc2c48d3ca36f9c8b6896d4 Mon Sep 17 00:00:00 2001
From: lxw <810412026@qq.com>
Date: 星期四, 14 十二月 2023 10:27:10 +0800
Subject: [PATCH] 重置密码

---
 src/main/java/com/whyc/service/UserInfService.java |   50 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 49 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/whyc/service/UserInfService.java b/src/main/java/com/whyc/service/UserInfService.java
index 0448ef4..ebe3e81 100644
--- a/src/main/java/com/whyc/service/UserInfService.java
+++ b/src/main/java/com/whyc/service/UserInfService.java
@@ -20,6 +20,7 @@
 
 import javax.servlet.ServletContext;
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -117,6 +118,7 @@
         }
         //鐧诲綍鎴愬姛
         ServletContext servletContext = request.getServletContext();
+        //鐧诲綍鎴愬姛
         servletContext.setAttribute(uname, request.getSession().getId());
         //Session瀛樺偍褰撳墠鐢ㄦ埛鍙婃潈闄愮粍鍒楄〃
         UserInf userDB = (UserInf) subject.getPrincipal();
@@ -158,16 +160,62 @@
         return new Response().set(1,flag>0,flag>0?"韬唤鍙樻洿鎴愬姛":"韬唤鍙樻洿澶辫触");
     }
     //灏嗙鐞嗗憳鍙樻垚鏅�氱敤鎴�
-    public Response dropRole(int uid) {
+    public Response dropRole(int uid, HttpServletRequest request) {
         //鏌ヨ鏈�澶х殑uid
         String maxUid=mapper.getMaxUid();
         if(maxUid==null){
             maxUid="1001";
         }
+        //鏍规嵁鐢ㄦ埛id鏌ヨ鐢ㄦ埛淇℃伅
+        QueryWrapper qWrapper=new QueryWrapper();
+        qWrapper.eq("uid",uid);
+        qWrapper.last("limit 1");
+        UserInf uinf=mapper.selectOne(qWrapper);
+        //缂栬緫
         UpdateWrapper wrapper =new UpdateWrapper();
         wrapper.set("uid",Integer.valueOf(maxUid)+1);
         wrapper.eq("uid",uid);
         int flag= mapper.update(null,wrapper);
+        //濡傛灉鏄櫘閫氱敤鎴疯嚜宸卞己閫�锛屽皢鐢ㄦ埛鍚嶅搴旂殑sessionId鍙樻洿
+        ServletContext servletContext = request.getServletContext();
+        servletContext.setAttribute(uinf.getUname(),"123456");
         return new Response().set(1,flag>0,flag>0?"韬唤鍙樻洿鎴愬姛":"韬唤鍙樻洿澶辫触");
     }
+    //鐧诲綍妫�娴�
+    public Response checkUserWebSocket(HttpSession httpSession){
+        Response model = new Response();
+        try {
+            UserInf user = (UserInf) httpSession.getAttribute("user");
+            if(user!=null){
+                String sessionId = (String) httpSession.getServletContext().getAttribute(user.getUname());
+                if(httpSession.getId().equals(sessionId)){
+                    model.set(1,user,null);
+                }else{
+                    if(sessionId.equals("123456")){
+                        model.set(1,false,"韬唤鏉冮檺鍙樻洿,璇烽噸鏂扮櫥褰�");
+                    }else{
+                        model.set(1,false,"涓嶅悓涓绘満鐧诲綍");
+                    }
+                    //鐢ㄦ埛鍦ㄥ叾浠栦富鏈虹櫥褰�,寮鸿揩鐢ㄦ埛鍦ㄦ湰鏈虹殑session澶辨晥
+                    httpSession.invalidate();
+                }
+            }
+            else {
+                model.set(1,false,"鐢ㄦ埛淇℃伅澶辨晥,璇烽噸鏂扮櫥褰�");
+            }
+        }catch (Exception e){
+            model.set(1,false,"鐧诲綍淇℃伅澶辨晥,閲嶆柊鐧诲綍");
+        }
+        return model;
+    }
+
+    //閲嶇疆瀵嗙爜
+    public Response resetSnId(int uid ) {
+        UpdateWrapper wrapper=new UpdateWrapper();
+        wrapper.set("usnid",RSAUtil.encrypt("123456",RSAUtil.getPublicKey()));
+        wrapper.eq("uid",uid);
+        int flag=mapper.update(null,wrapper);
+        return  new Response().set(1,flag>0,flag>0?"淇敼鎴愬姛":"淇敼澶辫触");
+
+    }
 }

--
Gitblit v1.9.1