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 |  107 +++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 102 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/whyc/service/UserInfService.java b/src/main/java/com/whyc/service/UserInfService.java
index a1199cc..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;
@@ -33,7 +34,7 @@
     //鏌ヨ鎵�鏈夌敤鎴蜂俊鎭�
     public Response getAllUser( int pageCurr, int pageSize) {
         PageHelper.startPage(pageCurr,pageSize);
-        List<UserInf> list=mapper.selectList(null);
+        List<UserInf> list=mapper.getAllUser();
         PageInfo pageInfo=new PageInfo(list);
         return new Response().setII(1,list!=null,pageInfo,"鏁版嵁杩斿洖");
     }
@@ -49,6 +50,11 @@
     //鏂版坊鍔犵敤鎴蜂俊鎭�
     public Response addUser(UserInf uinf) {
         QueryWrapper wrapper=new QueryWrapper();
+        //鍒ゆ柇鏄惁瀛樺湪鏅�氱敤鎴�(uid>100)锛岃嫢鏃�,鍒濆涓�1001
+        int judgecount=mapper.judgeUname();
+        if(judgecount==0){
+            uinf.setUid(1001);
+        }
         String pwd= RSAUtil.encrypt("123456", RSAUtil.getPublicKey());
         uinf.setUsnid(pwd);
         wrapper.eq("uname",uinf.getUname());
@@ -76,10 +82,10 @@
             UpdateWrapper wrapper=new UpdateWrapper();
             wrapper.set("usnid",RSAUtil.encrypt(newId,RSAUtil.getPublicKey()));
             wrapper.eq("uname",uname);
-            int bl=mapper.update(null,wrapper);
-            return  new Response().set(1,bl>0,"淇敼鎴愬姛");
+            int flag=mapper.update(null,wrapper);
+            return  new Response().set(1,flag>0,flag>0?"淇敼鎴愬姛":"淇敼澶辫触");
         }else {
-            return new Response().set(1,false,"淇敼澶辫触");
+            return new Response().set(1,false,"鍘熷瘑鐮佷笉鎷╄鎯�");
         }
     }
     //鍒犻櫎鐢ㄦ埛淇℃伅
@@ -94,6 +100,9 @@
         Response response = new Response();
         String[] dataArr = RSAUtil.decryptFrontP(usnId, RSAUtil.fontSeparator);
         //楠岀md5
+        if(dataArr[0]==null||dataArr[1]==null){
+            return response.set(1, false, "瀵嗙爜楠岀澶辫触");
+        }
         if (!dataArr[1].equals(ActionUtil.EncryptionMD5(org.apache.commons.lang3.StringUtils.trim(dataArr[0])).toString())) {
             return response.set(1, false, "瀵嗙爜楠岀澶辫触");
         }
@@ -109,6 +118,7 @@
         }
         //鐧诲綍鎴愬姛
         ServletContext servletContext = request.getServletContext();
+        //鐧诲綍鎴愬姛
         servletContext.setAttribute(uname, request.getSession().getId());
         //Session瀛樺偍褰撳墠鐢ㄦ埛鍙婃潈闄愮粍鍒楄〃
         UserInf userDB = (UserInf) subject.getPrincipal();
@@ -116,9 +126,96 @@
         request.getSession().setAttribute("user", userDB);
         return response.setII(1,true, userDB,"鐧诲綍鎴愬姛");
     }
-
+    //绛夊嚭
     public void logout() {
         Subject subject = SecurityUtils.getSubject();
         subject.logout();
     }
+    //灏嗙敤鎴锋坊鍔犺嚦100~1000绠$悊鍛�
+    public Response improveRole(int uid) {
+        //鍒ゆ柇琛ㄦ槸鍚﹀瓨鍦�
+        String tableName = mapper.existTable();
+        if(tableName==null){
+            ///鍒涘缓100~1000鐨刬d琛�,涓嶅瓨鍦ㄥ垯鍒涘缓
+            mapper.createNumber();
+            //鎻掑叆榛樿鏁版嵁
+            String sql=" INSERT INTO temp_numbers(unumber) " +
+                    " VALUES ";
+            for(int i=101;i<=1000;i++){
+                sql+="("+i+")";
+                if(i!=1000){
+                    sql+=",";
+                }
+            }
+            mapper.setUnumber(sql);
+        }
+        String minUid=mapper.getIn1000();
+        if(minUid==null){
+            return new Response().set(1,false,"绠$悊鍛樹釜鏁拌秴杩囦笂闄�");
+        }
+        UpdateWrapper wrapper =new UpdateWrapper();
+        wrapper.set("uid",minUid);
+        wrapper.eq("uid",uid);
+        int flag= mapper.update(null,wrapper);
+        return new Response().set(1,flag>0,flag>0?"韬唤鍙樻洿鎴愬姛":"韬唤鍙樻洿澶辫触");
+    }
+    //灏嗙鐞嗗憳鍙樻垚鏅�氱敤鎴�
+    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