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 |   53 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 50 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/whyc/service/UserInfService.java b/src/main/java/com/whyc/service/UserInfService.java
index 3d8b971..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;
@@ -38,10 +39,9 @@
         return new Response().setII(1,list!=null,pageInfo,"鏁版嵁杩斿洖");
     }
     //缂栬緫鏉冮檺
-    public Response updateUser(int uid,String uname, int udownloadRole) {
+    public Response updateUser(int uid, int udownloadRole) {
         UpdateWrapper wrapper=new UpdateWrapper();
         wrapper.set("udownload_role",udownloadRole);
-        wrapper.set("uname",uname);
         wrapper.eq("uid",uid);
         int bl=mapper.update(null,wrapper);
         return new Response().set(1,bl>0);
@@ -118,6 +118,7 @@
         }
         //鐧诲綍鎴愬姛
         ServletContext servletContext = request.getServletContext();
+        //鐧诲綍鎴愬姛
         servletContext.setAttribute(uname, request.getSession().getId());
         //Session瀛樺偍褰撳墠鐢ㄦ埛鍙婃潈闄愮粍鍒楄〃
         UserInf userDB = (UserInf) subject.getPrincipal();
@@ -159,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