package com.nokia.esb;
import java.io.UnsupportedEncodingException;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.nokia.pojo.TousuSheet;
public class MessageUtil {
private static ObjectMapper objectMapper = new ObjectMapper();
/**
* 构造一条鉴权消息
*
* @param userName
* @param password
* @return 字符串格式的鉴权消息
*/
public static String getVerifyMessage(String userName, String password) {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("\r\n");
stringBuffer.append("UserName:").append(userName).append("\r\n");
stringBuffer.append("Password:").append(password).append("\r\n");
stringBuffer.append("\r\n");
return stringBuffer.toString();
}
/**
* 解析鉴权消息的返回值
*
* @param bytes
* @return 字符串0表示成功,失败返回完整的鉴权消息
*/
public static String parseVerifyRespone(byte[] bytes) {
try {
String resp = new String(bytes, "utf-8");
resp = resp.trim();
if (resp.startsWith("")) {
int index = resp.indexOf("VerifyResult:0");
if (index > 0) {
return "0";
} else {
return resp;
}
} else {
throw new RuntimeException("鉴权失败,鉴权消息格式错误");
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
throw new RuntimeException(e.getMessage());
}
}
/**
* 心跳检测的消息
*
* @return
*/
public static String getHeartbeatMessage() {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("\r\n");
stringBuffer.append("ProvinceID:18\r\n");
stringBuffer.append("\r\n");
return stringBuffer.toString();
}
/**
* 解析心跳消息
*
* @param bytes
* @return
*/
public static String parseHeartbeatRespone(byte[] bytes) {
try {
String resp = new String(bytes, "utf-8");
resp = resp.trim();
if (resp.startsWith("")) {
return resp;
} else {
throw new RuntimeException("心跳失败" + resp);
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
throw new RuntimeException(e.getMessage());
}
}
public static String getBusinessMessage(TousuSheet tousuSheet) {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("\r\n");
try {
stringBuffer.append(objectMapper.writeValueAsString(tousuSheet));
} catch (JsonProcessingException e) {
e.printStackTrace();
throw new RuntimeException(e.getMessage());
}
stringBuffer.append("\r\n");
// stringBuffer.append("MsgSerial:").append(tousuSheet.getKfsn()).append("\r\n");
// stringBuffer.append("city:").append(tousuSheet.getCity()).append("\r\n");
// stringBuffer.append("kfsn:").append(tousuSheet.getKfsn()).append("\r\n");
// stringBuffer.append("acceptNo:").append(tousuSheet.getAcceptNo()).append("\r\n");
// stringBuffer.append("custLevel:").append(tousuSheet.getCustLevel()).append("\r\n");
// stringBuffer.append("pkgName:").append(tousuSheet.getPkgName()).append("\r\n");
// stringBuffer.append("acceptChannel:").append(tousuSheet.getAcceptChannel()).append("\r\n");
// stringBuffer.append("cplLevel:").append(tousuSheet.getCplLevel()).append("\r\n");
// stringBuffer.append("cplStype:").append(tousuSheet.getCplStype()).append("\r\n");
// stringBuffer.append("cplSname:").append(tousuSheet.getCplSname()).append("\r\n");
// stringBuffer.append("cplSno:").append(tousuSheet.getCplSno()).append("\r\n");
// stringBuffer.append("cplLon:").append(tousuSheet.getCplLon()).append("\r\n");
// stringBuffer.append("cplLat:").append(tousuSheet.getCplLat()).append("\r\n");
// stringBuffer.append("yhLon:").append(tousuSheet.getYhLon()).append("\r\n");
// stringBuffer.append("yhLat:").append(tousuSheet.getYhLat()).append("\r\n");
// stringBuffer.append("yhStype:").append(tousuSheet.getYhStype()).append("\r\n");
// stringBuffer.append("yhNtype:").append(tousuSheet.getYhNtype()).append("\r\n");
// stringBuffer.append("dstaddress:").append(tousuSheet.getDstaddress()).append("\r\n");
// stringBuffer.append("yhOpinion:").append(tousuSheet.getYhOpinion()).append("\r\n");
stringBuffer.append("\r\n");
return stringBuffer.toString();
}
}