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 | 102 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 97 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/whyc/service/UserInfService.java b/src/main/java/com/whyc/service/UserInfService.java index 99ce84d..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,"鏁版嵁杩斿洖"); } @@ -81,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,"鍘熷瘑鐮佷笉鎷╄鎯�"); } } //鍒犻櫎鐢ㄦ埛淇℃伅 @@ -99,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, "瀵嗙爜楠岀澶辫触"); } @@ -114,6 +118,7 @@ } //鐧诲綍鎴愬姛 ServletContext servletContext = request.getServletContext(); + //鐧诲綍鎴愬姛 servletContext.setAttribute(uname, request.getSession().getId()); //Session瀛樺偍褰撳墠鐢ㄦ埛鍙婃潈闄愮粍鍒楄〃 UserInf userDB = (UserInf) subject.getPrincipal(); @@ -121,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