⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 arraytool.java.svn-base

📁 自动导入文件到数据库,用于无法实时入库,需要在特定时间大批量入库的程序
💻 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 + -