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;
|
|
/**
|
* 聊天请求对象定义。
|
* <p>前端传递数据格式如下:</p>
|
* <pre>
|
* {
|
* "protocol":"chat",
|
* "data":{
|
* "me":12345,
|
* "customerService":0, // 客服人员ID,0 表示机器人
|
* "customerServiceSend":false,
|
* "msgType":"t",
|
* "message":"你好!",
|
* "bizId":"业务id"
|
* }
|
*
|
* }
|
* </pre>
|
*/
|
@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;
|
// }
|
}
|