📄 arraytool.java.svn-base
字号:
package com.onet.autobill.bill.common;
import org.apache.log4j.Logger;
import com.onet.autobill.util.ConvertString;
import com.onet.pojomsg.onetmsg3.SM_Base_Msg;
import com.onet.pojomsg.onetmsg3.SM_Constant;
import com.onet.pojomsg.onetmsg3.SM_Deliver_Msg;
import com.onet.pojomsg.onetmsg3.SM_Submit_Msg;
import com.onet.pojomsg.onetmsg3.SM_Submit_Resp_Msg;
public class ArrayTool {
private static Logger logger = Logger.getLogger(ArrayTool.class);
public static StringBuffer getStringBufferBySmMsg(SM_Base_Msg baseMsg) {
StringBuffer strBuff= new StringBuffer();
if(baseMsg.getCommandID()==SM_Constant.TYPE_SM_DELIVER){
SM_Deliver_Msg deliver = (SM_Deliver_Msg)baseMsg;
if(deliver.getIsReply()!=1){
strBuff.append(deliver.getAppendageField("ReceiveDateTime"));
strBuff.append(",\t");
strBuff.append(deliver.getGateWayId());
strBuff.append(",\t");
strBuff.append(deliver.getBussinessId());
strBuff.append(",\t");
strBuff.append(deliver.getSrcType());
strBuff.append(",\t");
strBuff.append(deliver.getServiceId());
strBuff.append(",\t");
strBuff.append(deliver.getSrcTermId());
strBuff.append(",\t");
strBuff.append(deliver.getSrcTerminalType());
strBuff.append(",\t");
strBuff.append(deliver.getDestTermId());
strBuff.append(",\t");
strBuff.append(deliver.getMsgId());
strBuff.append(",\t");
strBuff.append(deliver.getMsgFormat());
strBuff.append(",\t");
strBuff.append(deliver.getMsgLen());
strBuff.append(",\t");
strBuff.append(deliver.getMsgContent());
strBuff.append(",\t");
strBuff.append(deliver.getTpPId());
strBuff.append(",\t");
strBuff.append(deliver.getTpUdhi());
strBuff.append(",\t");
strBuff.append(deliver.getLinkId());
strBuff.append(",\t");
strBuff.append(deliver.getReserve());
strBuff.append(",\t");
strBuff.append(deliver.getAppendageField("ProvinceNo"));
strBuff.append(",\t");
strBuff.append(deliver.getAppendageField("ProjCmdId"));
strBuff.append("\r\n");
}else{
strBuff.append(deliver.getAppendageField("ReceiveDateTime"));
strBuff.append(",\t");
strBuff.append(deliver.getGateWayId());
strBuff.append(",\t");
strBuff.append(deliver.getBussinessId());
strBuff.append(",\t");
strBuff.append(deliver.getSrcType());
strBuff.append(",\t");
strBuff.append(deliver.getServiceId());
strBuff.append(",\t");
strBuff.append(deliver.getSrcTermId());
strBuff.append(",\t");
strBuff.append(deliver.getSrcTerminalType());
strBuff.append(",\t");
strBuff.append(deliver.getDestTermId());
strBuff.append(",\t");
strBuff.append(deliver.getMsgId());
strBuff.append(",\t");
strBuff.append(deliver.getMsgFormat());
strBuff.append(",\t");
strBuff.append(deliver.getMsgLen());
strBuff.append(",\t");
strBuff.append(deliver.getMsgContent());
strBuff.append(",\t");
strBuff.append(deliver.getTpPId());
strBuff.append(",\t");
strBuff.append(deliver.getTpUdhi());
strBuff.append(",\t");
strBuff.append(deliver.getLinkId());
strBuff.append(",\t");
strBuff.append(deliver.getReserve());
strBuff.append(",\t");
strBuff.append(deliver.getAppendageField("ProvinceNo"));
strBuff.append(",\t");
strBuff.append(deliver.getMsgContent().substring(0, 22));
strBuff.append(",\t");
strBuff.append(deliver.getMsgContent().substring(22));
strBuff.append("\r\n");
}
return strBuff;
}
if(baseMsg.getCommandID()==SM_Constant.TYPE_SM_SUBMIT_RESP){
SM_Submit_Resp_Msg moinfo = (SM_Submit_Resp_Msg)baseMsg;
strBuff.append(moinfo.getGateWayID());
strBuff.append(",\t");
strBuff.append(moinfo.getBussinessId());
strBuff.append(",\t");
strBuff.append(moinfo.getMsgID());
strBuff.append(",\t");
strBuff.append(moinfo.getAppendageField("ProductId"));
strBuff.append(",\t");
strBuff.append(moinfo.getAppendageField("CommandId"));
strBuff.append(",\t");
strBuff.append(moinfo.getAppendageField("RecvTime"));
strBuff.append("\r\n");
return strBuff;
}
if(baseMsg.getCommandID()==SM_Constant.TYPE_SM_SUBMIT){
SM_Submit_Msg submit = (SM_Submit_Msg)baseMsg;
strBuff.append(submit.getAppendageField("ReceiveDateTime"));
strBuff.append(",\t");
strBuff.append(submit.getGateWayId());
strBuff.append(",\t");
strBuff.append(submit.getBussinessId());
strBuff.append(",\t");
strBuff.append(submit.getUniformServiceId());
strBuff.append(",\t");
strBuff.append(submit.getSubType());
strBuff.append(",\t");
strBuff.append(submit.getMoRelateToMtFlag());
strBuff.append(",\t");
strBuff.append(submit.getNeedReply());
strBuff.append(",\t");
strBuff.append(submit.getServiceId());
strBuff.append(",\t");
strBuff.append(submit.getFeeUserType());
strBuff.append(",\t");
strBuff.append(submit.getFeeType());
strBuff.append(",\t");
strBuff.append(submit.getFeeCode());
strBuff.append(",\t");
strBuff.append(submit.getSrcTermId());
strBuff.append(",\t");
strBuff.append(submit.getDestTermId());
strBuff.append(",\t");
strBuff.append(submit.getDestTerminalType());
strBuff.append(",\t");
strBuff.append(submit.getFeeTerminalId());
strBuff.append(",\t");
strBuff.append(submit.getFeeTerminalType());
strBuff.append(",\t");
strBuff.append(submit.getMsgLevel());
strBuff.append(",\t");
strBuff.append(submit.getMsgFormat());
strBuff.append(",\t");
strBuff.append(submit.getMsgLen());
strBuff.append(",\t");
strBuff.append(submit.getMsgContent());
strBuff.append(",\t");
strBuff.append(submit.getTpPId());
strBuff.append(",\t");
strBuff.append(submit.getTpUdhi());
strBuff.append(",\t");
strBuff.append(submit.getValidTime());
strBuff.append(",\t");
strBuff.append(submit.getAtTime());
strBuff.append(",\t");
strBuff.append(submit.getLinkId());
strBuff.append(",\t");
strBuff.append(submit.getReserve());
strBuff.append(",\t");
strBuff.append(submit.getAppendageField("ErrorCode"));
strBuff.append(",\t");
strBuff.append(submit.getAppendageField("MsgId"));
strBuff.append(",\t");
strBuff.append(submit.getAppendageField("ProvinceNo"));
strBuff.append(",\t");
strBuff.append(submit.getAppendageField("ProductId"));
strBuff.append(",\t");
strBuff.append(submit.getAppendageField("StatusReceiveDate"));
strBuff.append(",\t");
strBuff.append(submit.getAppendageField("ReceiveStatus"));
strBuff.append("\r\n");
return strBuff;
}
return null;
}
public static SM_Base_Msg getSmMsgByArray(String[] array, FileType fileType) {
if(array==null||array.length<=0){
return null;
}
if (fileType == FileType.RECV) {
SM_Deliver_Msg deliver = new SM_Deliver_Msg();
try {
deliver.putAppendageField("ReceiveDateTime", getArrayStr(array,0));
deliver.setGateWayId(getArrayInt(array,1));
deliver.setBussinessId(getArrayInt(array,2));
deliver.setSrcType((byte) getArrayInt(array,3));
deliver.setIsReply((byte) getArrayInt(array,4));
deliver.setServiceId(getArrayStr(array,5));
deliver.setSrcTermId(getArrayStr(array,6));
deliver.setSrcTerminalType((byte) getArrayInt(array,7));
deliver.setDestTermId(getArrayStr(array,8));
deliver.setMsgId(getArrayStr(array,9));
deliver.setMsgFormat(getArrayInt(array,10));
deliver.setMsgLen(getArrayInt(array,11));
deliver.setMsgContent(ConvertString.formatMsgContent(deliver.getMsgFormat(), ConvertString.getStringFromGbkHex(getArrayStr(array,12))).trim());
deliver.setTpPId((byte) getArrayInt(array,13));
deliver.setTpUdhi((byte) getArrayInt(array,14));
deliver.setLinkId(getArrayStr(array,15));
deliver.setReserve(getArrayStr(array,16));
deliver.putAppendageField("ProvinceNo", "99");
deliver.putAppendageField("ProjCmdId", "0");
return deliver;
} catch (Exception e) {
logger.error("字符串数组转化为deliver消息发生异常", e);
return null;
}
}
if (fileType == FileType.SEND) {
SM_Submit_Msg submit = new SM_Submit_Msg();
try {
submit.putAppendageField("ReceiveDateTime", getArrayStr(array,0));
submit.setGateWayId(getArrayInt(array,1));
submit.setBussinessId(getArrayInt(array,2));
submit.setUniformServiceId(getArrayInt(array,3));
submit.setSubType((byte) getArrayInt(array,4));
submit.setMoRelateToMtFlag((byte)getArrayInt(array,5));
submit.setNeedReply(getArrayInt(array,6));
submit.setServiceId(getArrayStr(array,7));
submit.setFeeUserType((byte) getArrayInt(array,8));
submit.setFeeType(getArrayStr(array,9));
submit.setFeeCode(getArrayStr(array,10));
submit.setSrcTermId(getArrayStr(array,11));
submit.setDestTermId(getArrayStr(array,12));
submit.setDestTerminalType((byte) getArrayInt(array,13));
submit.setFeeTerminalId(getArrayStr(array,14));
submit.setFeeTerminalType((byte) getArrayInt(array,15));
submit.setMsgLevel(getArrayInt(array,16));
submit.setMsgFormat(getArrayInt(array,17));
submit.setMsgLen(getArrayInt(array,18));
submit.setMsgContent(ConvertString.formatMsgContent(submit.getMsgFormat(), ConvertString.getStringFromGbkHex(getArrayStr(array,19))).trim());
submit.setTpPId((byte) getArrayInt(array,20));
submit.setTpUdhi((byte) getArrayInt(array,21));
submit.setValidTime(getArrayStr(array,22));
submit.setAtTime(getArrayStr(array,23));
submit.setLinkId(getArrayStr(array,24));
submit.setReserve(getArrayStr(array,25));
submit.putAppendageField("ErrorCode", getArrayStr(array,26));
submit.putAppendageField("MsgId", getArrayStr(array,27));
submit.putAppendageField("ProvinceNo", "99");
submit.putAppendageField("ProductId", "");
submit.putAppendageField("StatusReceiveDate", "");
submit.putAppendageField("ReceiveStatus", "");
return submit;
} catch (Exception e) {
logger.error("字符串数组转化为Submit消息发生异常", e);
return null;
}
}
if(fileType == FileType.MOINFO){
SM_Submit_Resp_Msg moinfo = new SM_Submit_Resp_Msg();
try {
moinfo.setGateWayID(getArrayInt(array,0));
moinfo.setBussinessId(getArrayInt(array,1));
String msgid = getArrayStr(array,2);
if(msgid==null||msgid.equals("")){
return null;
}
moinfo.setMsgID(msgid);
moinfo.putAppendageField("ProductId",getArrayStr(array,3));
moinfo.putAppendageField("CommandId",getArrayStr(array,4));
moinfo.putAppendageField("RecvTime",getArrayStr(array,5));
return moinfo;
} catch (Exception e) {
logger.error("字符串数组转化为deliver消息发生异常", e);
return null;
}
}
return null;
}
private static String getArrayStr(String[] arr ,int arrnum){
if(arrnum<arr.length){
return arr[arrnum];
}
return "";
}
private static int getArrayInt(String[] arr ,int arrnum){
try{
if(arrnum<arr.length){
return Integer.parseInt(arr[arrnum]);
}
return 0;
}catch(Exception e){
logger.warn(arr[arrnum]+"字符串转换数字发横错误",e);
return 0;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -