wangwei 5 years ago
parent
commit
36ce2f17bd

+ 25 - 21
src/main/java/cn/com/qmth/examcloud/ws/starter/core/MessageOut.java

@@ -17,15 +17,35 @@ public class MessageOut implements JsonSerializable {
 
 	private String sessionId;
 
-	private int status = 200;
+	private String statusCode = "200";
 
-	private String statusCode;
+	private String statusDesc = "OK";
 
-	private String statusDesc;
+	private Object content;
 
-	private String eventId;
+	/**
+	 * 构造函数
+	 *
+	 * @param path
+	 * @param sessionId
+	 */
+	public MessageOut(String path, String sessionId) {
+		super();
+		this.path = path;
+		this.sessionId = sessionId;
+	}
 
-	private Object content;
+	/**
+	 * 设置状态
+	 *
+	 * @author WANGWEI
+	 * @param statusCode
+	 * @param statusDesc
+	 */
+	public void setStatus(String statusCode, String statusDesc) {
+		this.statusCode = statusCode;
+		this.statusDesc = statusDesc;
+	}
 
 	public String getPath() {
 		return path;
@@ -43,14 +63,6 @@ public class MessageOut implements JsonSerializable {
 		this.sessionId = sessionId;
 	}
 
-	public int getStatus() {
-		return status;
-	}
-
-	public void setStatus(int status) {
-		this.status = status;
-	}
-
 	public String getStatusCode() {
 		return statusCode;
 	}
@@ -67,14 +79,6 @@ public class MessageOut implements JsonSerializable {
 		this.statusDesc = statusDesc;
 	}
 
-	public String getEventId() {
-		return eventId;
-	}
-
-	public void setEventId(String eventId) {
-		this.eventId = eventId;
-	}
-
 	public Object getContent() {
 		return content;
 	}

+ 9 - 29
src/main/java/cn/com/qmth/examcloud/ws/starter/core/WebSocketServerEndpoint.java

@@ -64,16 +64,11 @@ public class WebSocketServerEndpoint {
 			WS_LOG.debug("[onOpen]. path=" + path + "");
 		}
 
-		MessageOut out = new MessageOut();
-		out.setSessionId(sessionId);
-		out.setStatus(200);
-		out.setPath(path);
+		MessageOut out = new MessageOut(path, sessionId);
 
 		Method method = MessageHandlerHolder.getMethod(path);
 		if (null == method) {
-			out.setStatus(404);
-			out.setStatusCode("404");
-			out.setStatusDesc("NOT FOUND");
+			out.setStatus("404", "NOT FOUND");
 			sendText(session, path, out);
 			IOUtils.closeQuietly(session);
 			return;
@@ -96,16 +91,12 @@ public class WebSocketServerEndpoint {
 		User user = getRedisClient().get(key, User.class);
 
 		if (null == user) {
-			out.setStatus(403);
-			out.setStatusCode("403");
-			out.setStatusDesc("no login");
+			out.setStatus("403", "no login");
 			sendText(session, path, out);
 			IOUtils.closeQuietly(session);
 			return;
 		} else if (!token.equals(user.getToken())) {
-			out.setStatus(403);
-			out.setStatusCode("403");
-			out.setStatusDesc("token is wrong");
+			out.setStatus("403", "token is wrong");
 			sendText(session, path, out);
 			IOUtils.closeQuietly(session);
 			return;
@@ -181,22 +172,15 @@ public class WebSocketServerEndpoint {
 
 		User user = getRedisClient().get(key, User.class);
 
-		MessageOut out = new MessageOut();
-		out.setSessionId(sessionId);
-		out.setStatus(200);
-		out.setPath(path);
+		MessageOut out = new MessageOut(path, sessionId);
 
 		if (null == user) {
-			out.setStatus(403);
-			out.setStatusCode("403");
-			out.setStatusDesc("no login");
+			out.setStatus("403", "no login");
 			sendText(session, path, out);
 			IOUtils.closeQuietly(session);
 			return;
 		} else if (!token.equals(user.getToken())) {
-			out.setStatus(403);
-			out.setStatusCode("403");
-			out.setStatusDesc("token is wrong");
+			out.setStatus("403", "token is wrong");
 			sendText(session, path, out);
 			IOUtils.closeQuietly(session);
 			return;
@@ -249,14 +233,10 @@ public class WebSocketServerEndpoint {
 
 		} catch (StatusException e) {
 			WS_LOG.error("[onMessage-FAIL]. path=" + path + "", e);
-			out.setStatus(500);
-			out.setStatusCode(e.getCode());
-			out.setStatusDesc(e.getDesc());
+			out.setStatus(e.getCode(), e.getDesc());
 		} catch (Exception e) {
 			WS_LOG.error("[onMessage-FAIL]. path=" + path + "", e);
-			out.setStatus(500);
-			out.setStatusCode("500");
-			out.setStatusDesc("系统异常");
+			out.setStatus("500", "系统异常");
 		}
 
 		sendText(session, path, out);