|  | @@ -84,54 +84,60 @@ public class KfMsgWebsocketHandler implements WebSocketHandler {
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public void handleMessage(WebSocketSession session, WebSocketMessage<?> message) throws Exception {
 | 
	
		
			
				|  |  | -        String msgStr = message.getPayload().toString();
 | 
	
		
			
				|  |  | -        //消息解析
 | 
	
		
			
				|  |  | -        KfWebSocketMsgParam param = JsonUtil.toObj(msgStr, KfWebSocketMsgParam.class);
 | 
	
		
			
				|  |  | -        //消息类型
 | 
	
		
			
				|  |  | -        KfWebSocketMsgEnum webSocketMsgType = param.getWebSocketMsgType();
 | 
	
		
			
				|  |  | -        //游戏id
 | 
	
		
			
				|  |  | -        Long gameId = param.getGameId();
 | 
	
		
			
				|  |  | -        //参数验证不通过, 直接结束
 | 
	
		
			
				|  |  | -        if (!this.paramCheck(session, webSocketMsgType, param.getToken(), gameId)) {
 | 
	
		
			
				|  |  | -            return;
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        //处理不同类型的消息
 | 
	
		
			
				|  |  | -        switch (webSocketMsgType) {
 | 
	
		
			
				|  |  | -            case WEBSOCKET_MSG_KF_HAND_SHAKE:
 | 
	
		
			
				|  |  | -                kfHandShake(session, webSocketMsgType);
 | 
	
		
			
				|  |  | -                break;
 | 
	
		
			
				|  |  | -            case WEBSOCKET_MSG_KF_CREATE_CONNECT:
 | 
	
		
			
				|  |  | -                kfCreateConnect(session, webSocketMsgType, gameId);
 | 
	
		
			
				|  |  | -                break;
 | 
	
		
			
				|  |  | -            case WEBSOCKET_MSG_USER_CONNECT_JOIN:
 | 
	
		
			
				|  |  | -                userConnectJoin(session, param);
 | 
	
		
			
				|  |  | -                break;
 | 
	
		
			
				|  |  | -            case WEBSOCKET_MSG_ROOM_HISTORY:
 | 
	
		
			
				|  |  | -                msgRoomHistory(session, param);
 | 
	
		
			
				|  |  | -                break;
 | 
	
		
			
				|  |  | -            case WEBSOCKET_MSG_KF_SEND:
 | 
	
		
			
				|  |  | -                kfSendMsg(session, param);
 | 
	
		
			
				|  |  | -                break;
 | 
	
		
			
				|  |  | -            case WEBSOCKET_MSG_FINISH_ROOM_LIST:
 | 
	
		
			
				|  |  | -                finishRoomList(session, param);
 | 
	
		
			
				|  |  | -                break;
 | 
	
		
			
				|  |  | -            case WEBSOCKET_MSG_FINISH_SESSION:
 | 
	
		
			
				|  |  | -                kfFinishSession(session, webSocketMsgType, gameId, param.getRoomId());
 | 
	
		
			
				|  |  | -                break;
 | 
	
		
			
				|  |  | -            case WEBSOCKET_MSG_GET_USER:
 | 
	
		
			
				|  |  | -                getUser(session, param);
 | 
	
		
			
				|  |  | -                break;
 | 
	
		
			
				|  |  | -            case WEBSOCKET_MSG_GET_ROLE_LIST:
 | 
	
		
			
				|  |  | -                getRoleList(session, param);
 | 
	
		
			
				|  |  | -                break;
 | 
	
		
			
				|  |  | -            case WEBSOCKET_MSG_GET_ORDER_LIST:
 | 
	
		
			
				|  |  | -                getOrderList(session, param);
 | 
	
		
			
				|  |  | -                break;
 | 
	
		
			
				|  |  | -            case WEBSOCKET_MSG_QUICK_REPLY:
 | 
	
		
			
				|  |  | -                quickReply(session, param);
 | 
	
		
			
				|  |  | -                break;
 | 
	
		
			
				|  |  | -            default:
 | 
	
		
			
				|  |  | -                this.sendMessage(session, KfWebSocketMsgDTO.fail(webSocketMsgType, "参数错误, 未知的消息类型"));
 | 
	
		
			
				|  |  | +        try {
 | 
	
		
			
				|  |  | +            String msgStr = message.getPayload().toString();
 | 
	
		
			
				|  |  | +            //消息解析
 | 
	
		
			
				|  |  | +            KfWebSocketMsgParam param = JsonUtil.toObj(msgStr, KfWebSocketMsgParam.class);
 | 
	
		
			
				|  |  | +            //消息类型
 | 
	
		
			
				|  |  | +            KfWebSocketMsgEnum webSocketMsgType = param.getWebSocketMsgType();
 | 
	
		
			
				|  |  | +            //游戏id
 | 
	
		
			
				|  |  | +            Long gameId = param.getGameId();
 | 
	
		
			
				|  |  | +            //参数验证不通过, 直接结束
 | 
	
		
			
				|  |  | +            if (!this.paramCheck(session, webSocketMsgType, param.getToken(), gameId)) {
 | 
	
		
			
				|  |  | +                return;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            //处理不同类型的消息
 | 
	
		
			
				|  |  | +            switch (webSocketMsgType) {
 | 
	
		
			
				|  |  | +                case WEBSOCKET_MSG_KF_HAND_SHAKE:
 | 
	
		
			
				|  |  | +                    kfHandShake(session, webSocketMsgType);
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case WEBSOCKET_MSG_KF_CREATE_CONNECT:
 | 
	
		
			
				|  |  | +                    kfCreateConnect(session, webSocketMsgType, gameId);
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case WEBSOCKET_MSG_USER_CONNECT_JOIN:
 | 
	
		
			
				|  |  | +                    userConnectJoin(session, param);
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case WEBSOCKET_MSG_ROOM_HISTORY:
 | 
	
		
			
				|  |  | +                    msgRoomHistory(session, param);
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case WEBSOCKET_MSG_KF_SEND:
 | 
	
		
			
				|  |  | +                    kfSendMsg(session, param);
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case WEBSOCKET_MSG_FINISH_ROOM_LIST:
 | 
	
		
			
				|  |  | +                    finishRoomList(session, param);
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case WEBSOCKET_MSG_FINISH_SESSION:
 | 
	
		
			
				|  |  | +                    kfFinishSession(session, webSocketMsgType, gameId, param.getRoomId());
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case WEBSOCKET_MSG_GET_USER:
 | 
	
		
			
				|  |  | +                    getUser(session, param);
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case WEBSOCKET_MSG_GET_ROLE_LIST:
 | 
	
		
			
				|  |  | +                    getRoleList(session, param);
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case WEBSOCKET_MSG_GET_ORDER_LIST:
 | 
	
		
			
				|  |  | +                    getOrderList(session, param);
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case WEBSOCKET_MSG_QUICK_REPLY:
 | 
	
		
			
				|  |  | +                    quickReply(session, param);
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                default:
 | 
	
		
			
				|  |  | +                    this.sendMessage(session, KfWebSocketMsgDTO.fail(webSocketMsgType, "参数错误, 未知的消息类型"));
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        } catch (Exception e) {
 | 
	
		
			
				|  |  | +            log.error("Websocket消息处理出现异常, e : {}", e.getMessage());
 | 
	
		
			
				|  |  | +        } finally {
 | 
	
		
			
				|  |  | +            SecurityUtil.destroy();
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 |