From ed19bdb62b06b8040b650f74387849c1ec4359b7 Mon Sep 17 00:00:00 2001 From: Elvis Date: Fri, 12 Apr 2019 10:53:16 +0800 Subject: [PATCH] 修改密码逻辑 --- WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_edit3.jsp | 18 ++++++++++-------- src/com/fh/controller/api/ResponseGson.java | 4 ++++ src/com/fh/controller/sunvote/teacher/TeacherController.java | 35 +++++++++++++++++++---------------- src/com/fh/plugin/websocketInstantMsg/ChatServer.java | 49 +++++++++++++++++++++++-------------------------- 4 files changed, 56 insertions(+), 50 deletions(-) diff --git a/WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_edit3.jsp b/WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_edit3.jsp index c019b46..28e9cdb 100644 --- a/WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_edit3.jsp +++ b/WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_edit3.jsp @@ -157,14 +157,16 @@ type:"POST", success:function(res){ console.log(res); - - $("#save_btn").tips({ - side:3, - msg:res.data, - bg:'#AE81FF', - time:2 - }); - window.top.modal.remove(); + if(res.code == 0){ + window.top.modal.remove(); + }else{ + $("#PASSWORD_OLD").tips({ + side:3, + msg:res.message, + bg:'#AE81FF', + time:2 + }); + } } }) //$("#Form").submit(); diff --git a/src/com/fh/controller/api/ResponseGson.java b/src/com/fh/controller/api/ResponseGson.java index baab558..c0a4711 100644 --- a/src/com/fh/controller/api/ResponseGson.java +++ b/src/com/fh/controller/api/ResponseGson.java @@ -144,5 +144,9 @@ public class ResponseGson { message = "分别对错误进行描述,1 具体到某个参数值问题的描述" ; } + public void set5Error(){ + code = "5" ; + message = "原密码输入错误!"; + } } diff --git a/src/com/fh/controller/sunvote/teacher/TeacherController.java b/src/com/fh/controller/sunvote/teacher/TeacherController.java index 18d428d..39b7779 100644 --- a/src/com/fh/controller/sunvote/teacher/TeacherController.java +++ b/src/com/fh/controller/sunvote/teacher/TeacherController.java @@ -172,6 +172,18 @@ public class TeacherController extends BaseController { PageData pd = new PageData(); pd = this.getPageData(); teacherService.edit(pd); + pd.put("USER_ID", pd.getString("ID")); // ID 主键 + pd.put("LAST_LOGIN", ""); // 最后登录时间 + pd.put("IP", ""); // IP + pd.put("STATUS", "0"); // 状态 + pd.put("SKIN", "default"); + pd.put("RIGHTS", ""); + pd.put("USERNAME", pd.getString("ACCOUT")); + pd.put("ROLE_ID", "57bb1e6f138247a0b05cc721a5da1b64"); + pd.put("PASSWORD", + new SimpleHash("SHA-1", pd.getString("ACCOUT"), pd + .getString("PASSWORD")).toString()); // 密码加密 + userService.editU(pd); // 执行保存 mv.addObject("msg", "success"); mv.setViewName("save_result"); return mv; @@ -197,17 +209,12 @@ public class TeacherController extends BaseController { pd.put("STATUS", "0"); // 状态 pd.put("SKIN", "default"); pd.put("RIGHTS", ""); - pd.put("USERNAME", pd.getString("ACCOUT")); + pd.put("USERNAME", n.getString("ACCOUT")); pd.put("ROLE_ID", "57bb1e6f138247a0b05cc721a5da1b64"); pd.put("PASSWORD", - new SimpleHash("SHA-1", pd.getString("ACCOUT"), pd + new SimpleHash("SHA-1", n.getString("ACCOUT"), pd .getString("PASSWORD")).toString()); // 密码加密 - - if (null == userService.findByUsername(pd)) { // 判断用户名是否存在 - userService.saveU(pd); // 执行保存 - FHLOG.save(Jurisdiction.getUsername(), - "新增系统用户:" + pd.getString("USERNAME")); - } + userService.editU(pd); // 执行保存 mv.addObject("msg", "success"); mv.setViewName("save_result2"); return mv; @@ -235,19 +242,15 @@ public class TeacherController extends BaseController { pd.put("STATUS", "0"); // 状态 pd.put("SKIN", "default"); pd.put("RIGHTS", ""); - pd.put("USERNAME", pd.getString("ACCOUT")); + pd.put("USERNAME", n.getString("ACCOUT")); pd.put("ROLE_ID", "57bb1e6f138247a0b05cc721a5da1b64"); pd.put("PASSWORD", - new SimpleHash("SHA-1", pd.getString("ACCOUT"), pd + new SimpleHash("SHA-1", n.getString("ACCOUT"), pd .getString("PASSWORD")).toString()); // 密码加密 - - if (null == userService.findByUsername(pd)) { // 判断用户名是否存在 - userService.saveU(pd); // 执行保存 - FHLOG.save(Jurisdiction.getUsername(), - "新增系统用户:" + pd.getString("USERNAME")); - } + userService.editU(pd); // 执行保存 ret.setData("Success"); }else{ + ret.set5Error(); ret.setData("Fail"); } return ret.toJson(); diff --git a/src/com/fh/plugin/websocketInstantMsg/ChatServer.java b/src/com/fh/plugin/websocketInstantMsg/ChatServer.java index b3bb0b6..1eed499 100644 --- a/src/com/fh/plugin/websocketInstantMsg/ChatServer.java +++ b/src/com/fh/plugin/websocketInstantMsg/ChatServer.java @@ -3,7 +3,9 @@ package com.fh.plugin.websocketInstantMsg; import java.io.IOException; import java.net.InetSocketAddress; import java.net.UnknownHostException; +import java.util.ArrayList; import java.util.Date; +import java.util.List; import net.sf.json.JSONObject; @@ -15,6 +17,8 @@ import org.java_websocket.server.WebSocketServer; public class ChatServer extends WebSocketServer{ + + private List list = new ArrayList(); public ChatServer(int port) throws UnknownHostException { super(new InetSocketAddress(port)); @@ -31,6 +35,7 @@ public class ChatServer extends WebSocketServer{ public void onOpen( WebSocket conn, ClientHandshake handshake ) { //this.sendToAll( "new connection: " + handshake.getResourceDescriptor() ); //System.out.println("===" + conn.getRemoteSocketAddress().getAddress().getHostAddress()); + list.add(conn); } /** @@ -38,7 +43,7 @@ public class ChatServer extends WebSocketServer{ */ @Override public void onClose( WebSocket conn, int code, String reason, boolean remote ) { - userLeave(conn); + list.remove(conn); } /** @@ -46,18 +51,10 @@ public class ChatServer extends WebSocketServer{ */ @Override public void onMessage(WebSocket conn, String message){ - message = message.toString(); - if(null != message && message.startsWith("FHadminqq313596790")){ - this.userjoin(message.replaceFirst("FHadminqq313596790", ""),conn); - }if(null != message && message.startsWith("LeaveFHadminqq313596790")){ - this.userLeave(conn); - }if(null != message && message.contains("fhadmin886")){ - String toUser = message.substring(message.indexOf("fhadmin886")+10, message.indexOf("fhfhadmin888")); - message = message.substring(0, message.indexOf("fhadmin886")) +"[私信] "+ message.substring(message.indexOf("fhfhadmin888")+12, message.length()); - ChatServerPool.sendMessageToUser(ChatServerPool.getWebSocketByUser(toUser),message);//向所某用户发送消息 - ChatServerPool.sendMessageToUser(conn, message);//同时向本人发送消息 - }else{ - ChatServerPool.sendMessage(message.toString());//向所有在线用户发送消息 + for(WebSocket w:list){ + if(w != conn){ + w.send(message); + } } } @@ -69,10 +66,10 @@ public class ChatServer extends WebSocketServer{ */ @Override public void onError( WebSocket conn, Exception ex ) { - ex.printStackTrace(); - if( conn != null ) { - //some errors like port binding failed may not be assignable to a specific websocket - } + try{ + conn.close(0); + }catch(Exception e){} + list.remove(conn); } @@ -99,16 +96,16 @@ public class ChatServer extends WebSocketServer{ * @param user */ public void userLeave(WebSocket conn){ - String user = ChatServerPool.getUserByKey(conn); +// String user = ChatServerPool.getUserByKey(conn); boolean b = ChatServerPool.removeUser(conn); //在连接池中移除连接 - if(b){ - JSONObject result = new JSONObject(); - result.element("type", "user_leave"); - result.element("user", ""+user+""); - ChatServerPool.sendMessage(result.toString()); //把当前用户从所有在线用户列表中删除 - String joinMsg = "{\"from\":\"[系统]\",\"content\":\""+user+"下线了\",\"timestamp\":"+new Date().getTime()+",\"type\":\"message\"}"; - ChatServerPool.sendMessage(joinMsg); //向在线用户发送当前用户退出的消息 - } +// if(b){ +// JSONObject result = new JSONObject(); +// result.element("type", "user_leave"); +// result.element("user", ""+user+""); +// ChatServerPool.sendMessage(result.toString()); //把当前用户从所有在线用户列表中删除 +// String joinMsg = "{\"from\":\"[系统]\",\"content\":\""+user+"下线了\",\"timestamp\":"+new Date().getTime()+",\"type\":\"message\"}"; +// ChatServerPool.sendMessage(joinMsg); //向在线用户发送当前用户退出的消息 +// } } public static void main( String[] args ) throws InterruptedException , IOException { WebSocketImpl.DEBUG = false; -- libgit2 0.21.4