package com.iplatform.chat.util.ws; import com.iplatform.base.PlatformRuntimeException; import com.iplatform.chat.Constants; import com.iplatform.chat.util.ChatUtils; import com.iplatform.model.vo.ChatVo; import com.walker.infrastructure.utils.JsonUtils; import com.walker.tcp.TcpRequest; import com.walker.tcp.data.AbstractStringRequest; /** * 聊天请求对象定义。 *

前端传递数据格式如下:

*
 *     {
 *         "protocol":"chat",
 *         "data":{
 *             "me":12345,
 *             "customerService":0,  // 客服人员ID,0 表示机器人
 *             "customerServiceSend":false,
 *             "msgType":"t",
 *             "message":"你好!",
 *             "bizId":"业务id"
 *         }
 *
 *     }
 * 
*/ @TcpRequest("chat") public class ChatRequest extends AbstractStringRequest { public ChatVo getChatVo() { return chatVo; } private ChatVo chatVo; public ChatRequest(){} @Override protected void translateData(String source) { ChatData chatData = null; try { chatData = JsonUtils.jsonStringToObject(source, ChatData.class); if(chatData == null){ throw new PlatformRuntimeException("ChatData转换为空"); } this.chatVo = ChatUtils.acquireChatVo(chatData.getData()); } catch (Exception e) { throw new RuntimeException("请求转ChatVo错误:" + e.getMessage(), e); } } @Override public String getProtocolNum() { return Constants.PROTOCOL_CHAT; } // private class ChatData implements Serializable { // public String getProtocol() { // return protocol; // } // // public void setProtocol(String protocol) { // this.protocol = protocol; // } // // public ChatViewVo getData() { // return data; // } // // public void setData(ChatViewVo data) { // this.data = data; // } // // private String protocol; // private ChatViewVo data; // } }