📄 bocbc4xml.java
字号:
package com.blackcrow.utils;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.io.PrintStream;
import java.sql.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.apache.log4j.Logger;
import org.jdom.*;
import org.jdom.input.SAXBuilder;
import com.ibm.mq.MQC;
import com.ibm.mq.MQEnvironment;
import com.ibm.mq.MQMessage;
import com.ibm.mq.MQPutMessageOptions;
import com.ibm.mq.MQQueue;
import com.ibm.mq.MQQueueManager;
import sun.net.TelnetOutputStream;
import sun.net.ftp.FtpClient;
public class BocBC4xml {
final static Logger logger=Logger.getLogger(BocBC4xml.class);
public static boolean FTP(List MSGBean){
boolean flag=false;
TelnetOutputStream os = null;
FileInputStream is = null;
FtpClient ftpClient = null;
try{
ConfigBean CB=(ConfigBean)loadConfig("ftp").get(0);
String serverip=CB.getFtpServerIp();
String serveruser=CB.getFtpServerUser();
String serverpswd=CB.getFtpServerPswd();
String serverport=CB.getFtpServerPort();
String serverpath=CB.getFtpRemotePath();
String localpath=CB.getFtpLocalPath();
ftpClient=new FtpClient();
ftpClient.openServer(serverip, Integer.parseInt(serverport));
ftpClient.login(serveruser, serverpswd);
ftpClient.cd(serverpath);
ftpClient.binary();
if(MSGBean.size()<1){
logger.error("FTP.() method parament Exception..");
return flag;
}
String MSG_TYPE=null;
String SYS_ID=null;
String TERM_ID=null;
String TELL_NO=null;
String SRV_CODE=null;
String RPT_FLAG=null;
String SND_COUNT=null;
String ORG_ID=null;
String SEND_TIME=null;
String VALID_TIME=null;
String TIME_OUT =null;
String MODE_NO =null;
String TRACE_NO=null;
//*************
String TXN_DATE=null;
String TXN_TIME=null;
String MSG_CONT=null;
String TAG_TEL=null;
String FileName=null;
String DETAIL_NO="01";
File localfile=null;
FileOutputStream fos = null;
OutputStreamWriter osw = null;
BufferedWriter writer = null;
ConfigBean bean=(ConfigBean)loadConfig("msg").get(0);
ORG_ID=bean.getMsgORG_ID();
TERM_ID=bean.getMsgTERM_ID();
SRV_CODE=bean.getMsgSRV_CODE();
RPT_FLAG=bean.getMsgRPT_FLAG();
SEND_TIME=bean.getMsgSEND_TIME();
VALID_TIME=bean.getMsgVALID_TIME();
TIME_OUT=bean.getMsgTIME_OUT();
MODE_NO=bean.getMsgMODE_NO();
TXN_TIME=bean.getMsgTXN_TIME();
TRACE_NO=bean.getMsgTRACE_NO();
String BAK_FLD="";
for(int i=0;i<MSGBean.size();i++){
MSG_CONT=((ConfigBean)MSGBean.get(i)).getMsgMSG_CONT();
TAG_TEL=((ConfigBean)MSGBean.get(i)).getMsgTAG_TEL();
if(isBlank(MSG_CONT)||isBlank(TAG_TEL)){
logger.error("短信内容,手机号码存在空值");
return flag;
}
String msg=RPT_FLAG+"^"+TRACE_NO+"^"+MODE_NO+"^"+TAG_TEL+"^"+ORG_ID+"^"+TERM_ID
+"^"+VALID_TIME+"^"+SEND_TIME+"^"+SRV_CODE+"^"+BAK_FLD+"^"+BAK_FLD
+"^"+MSG_CONT;
if(i==0){
FileName="DAT_"+getDT().substring(0,10)+SRV_CODE.substring(0,5)+DETAIL_NO+".TXT";
localfile=new File(localpath+FileName);
logger.debug("localpath+filename:"+localpath+FileName);
if(!localfile.exists()){
localfile.createNewFile();
logger.error("The file is not exist,create it..");
}
fos = new FileOutputStream(localfile);
osw = new OutputStreamWriter(fos);
writer = new BufferedWriter(osw);
writer.write(msg);
writer.flush();
fos.close();
osw.close();
writer.close();
}else{
fos = new FileOutputStream(localfile,true);
osw = new OutputStreamWriter(fos);
writer = new BufferedWriter(osw);
writer.newLine();
writer.write(msg);
if(i+1==MSGBean.size()){
writer.newLine();
writer.write("<end>");
}
writer.flush();
fos.close();
osw.close();
writer.close();
}
}
os = ftpClient.put(serverpath+FileName);
is = new FileInputStream(localfile);
byte[] bytes = new byte[1024];
int c;
while ((c = is.read(bytes)) != -1) {
os.write(bytes, 0, c);
}
if (is != null) {
is.close();
}
if (os != null) {
os.close();
}
flag=true;
logger.debug("�ϴ��ļ��ɹ�..");
}catch(Exception er){
logger.error("FTP.() method Exception..");
logger.error(er);
er.printStackTrace();
}finally{
if (ftpClient != null && ftpClient.serverIsOpen()) {
try{
ftpClient.closeServer();
}catch(Exception er){
logger.error("close ftp connection exception..");
logger.error(er);
}
}
}
logger.debug("�ϴ��ļ�����..");
return flag;
}
public static boolean MQ(ConfigBean MSG){
boolean flag=false;
try{
// XMLBean XB=getInfo1();
ConfigBean CB=(ConfigBean)loadConfig("mq").get(0);
String hostName=CB.getMqServer();
String channelName=CB.getMqChannel();
int port=Integer.parseInt(CB.getMqPort());
int CCSID=Integer.parseInt(CB.getMqCCSID());
String queueManager=CB.getMqQueueManager();
String queueName=CB.getMqQueueName();
MQEnvironment.hostname = hostName;
MQEnvironment.channel = channelName;
MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES);
MQEnvironment.port = port;
MQEnvironment.CCSID = CCSID;
MQQueueManager qMgr=new MQQueueManager(queueManager);
int openOptions = MQC.MQOO_OUTPUT | MQC.MQOO_FAIL_IF_QUIESCING;
MQQueue queue=qMgr.accessQueue(queueName,openOptions,null,null,null);
MQPutMessageOptions pmo = new MQPutMessageOptions();
MQMessage outMsg = new MQMessage();
// outMsg.format = MQC.MQFMT_STRING;
ConfigBean bean=(ConfigBean)loadConfig("msg").get(0);
String MSG_TYPE=bean.getMsgMSG_TYPE();
String SYS_ID=bean.getMsgSYS_ID();
String TERM_ID=bean.getMsgTERM_ID();
String TELL_NO=bean.getMsgTELL_NO();
String SRV_CODE=bean.getMsgSRV_CODE();
String RPT_FLAG=bean.getMsgRPT_FLAG();
String SND_COUNT=bean.getMsgSND_COUNT();
String ORG_ID=bean.getMsgORG_ID();
String SEND_TIME=bean.getMsgSEND_TIME();
String VALID_TIME=bean.getMsgVALID_TIME();
String TIME_OUT = bean.getMsgTIME_OUT();
String MODE_NO = bean.getMsgMODE_NO();
String TRACE_NO=bean.getMsgTRACE_NO();
String TXN_DATE=MSG.getMsgTXN_DATE();
String TXN_TIME=MSG.getMsgTXN_TIME();
String MSG_CONT=MSG.getMsgMSG_CONT();
String TAG_TEL=MSG.getMsgTAG_TEL();
if(isBlank(TXN_DATE)||isBlank(TXN_TIME)||isBlank(MSG_CONT)||isBlank(TAG_TEL)){
logger.error("交易日期,交易时间,短信号码,短信内容中存在空值..");
return flag;
}
String BAK_FLD="";
String massage="<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>" +
"<txnreq>" +
"<head>" +
"<MSG_TYPE>"+MSG_TYPE+"</MSG_TYPE>" +
"<SYS_ID>"+SYS_ID+"</SYS_ID>" +
"<ORG_ID>"+ORG_ID+"</ORG_ID>" +
"<TERM_ID>"+TERM_ID+"</TERM_ID>" +
"<TELL_NO>"+TELL_NO+"</TELL_NO>" +
"<SRV_CODE>"+SRV_CODE+"</SRV_CODE>" +
"<TXN_DATE>"+TXN_DATE+"</TXN_DATE>" +
"<TXN_TIME>"+TXN_TIME+"</TXN_TIME>" +
"<SND_COUNT>"+SND_COUNT+"</SND_COUNT>" +
"<TRACE_NO>"+TRACE_NO+"</TRACE_NO>" +
"<BAK_FLD1>"+BAK_FLD+"</BAK_FLD1>" +
"<BAK_FLD2>"+BAK_FLD+"</BAK_FLD2>" +
"</head>" +
"<data>" +
"<RPT_FLAG>"+RPT_FLAG+"</RPT_FLAG>" +
"<MODE_NO>"+MODE_NO+"</MODE_NO>" +
"<MSG_CONT>"+MSG_CONT+"</MSG_CONT>" +
"<TAG_TEL>"+TAG_TEL+"</TAG_TEL>" +
"<SEND_TIME>"+SEND_TIME+"</SEND_TIME>" +
"<VALID_TIME>"+VALID_TIME+"</VALID_TIME>" +
"<TIME_OUT>"+TIME_OUT+"</TIME_OUT>" +
"<BAK_FLD1>"+BAK_FLD+"</BAK_FLD1>" +
"<BAK_FLD2>"+BAK_FLD+"</BAK_FLD2>" +
"</data>" +
"</txnreq>";
outMsg.format=MQC.MQFMT_STRING;
// outMsg.writeString(massage);
// outMsg.writeUTF(massage);
outMsg.write(massage.getBytes());
queue.put(outMsg,pmo);
qMgr.commit();
queue.close();
qMgr.disconnect();
flag=true;
}catch(Exception er){
logger.error("MQ.() method Exception..");
logger.error(er);
er.printStackTrace();
}
return flag;
}
//new load xml config function
private static List loadConfig(String type){
List list=new ArrayList();
SAXBuilder builder = new SAXBuilder(false);
try{
String str=BocBC4xml.class.getProtectionDomain().getCodeSource().getLocation().toString();
String path=str.substring(0,str.lastIndexOf("/WEB-INF/classes/")+1);
String xmlpath=path+"WEB-INF/config/Config.xml";
Document doc = builder.build(xmlpath);
Element root = doc.getRootElement();
List children = root.getChildren();
for (int i = 0; i < children.size(); i++) {
ConfigBean CB=new ConfigBean();
if(type.toUpperCase().equals("FTP")){
System.out.println("load ftp config information..");
CB.setFtpLocalPath(((Element)children.get(i)).getAttributeValue("ftpLocalPath"));
CB.setFtpRemotePath(((Element)children.get(i)).getAttributeValue("ftpRemotePath"));
CB.setFtpServerIp(((Element)children.get(i)).getAttributeValue("ftpServerIp"));
CB.setFtpServerPort(((Element)children.get(i)).getAttributeValue("ftpServerPort"));
CB.setFtpServerPswd(((Element)children.get(i)).getAttributeValue("ftpServerPswd"));
CB.setFtpServerUser(((Element)children.get(i)).getAttributeValue("ftpServerUser"));
}
if(type.toUpperCase().equals("MQ")){
System.out.println("load mq config information..");
CB.setMqCCSID(((Element)children.get(i)).getAttributeValue("mqCCSID"));
CB.setMqChannel(((Element)children.get(i)).getAttributeValue("mqChannel"));
CB.setMqPort(((Element)children.get(i)).getAttributeValue("mqPort"));
CB.setMqQueueManager(((Element)children.get(i)).getAttributeValue("mqQueueManager"));
CB.setMqQueueName(((Element)children.get(i)).getAttributeValue("mqQueueName"));
CB.setMqServer(((Element)children.get(i)).getAttributeValue("mqServer"));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -