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; // } }