📄 requesthandler.java
字号:
package com.gctech.misc.provision.handler;
import java.sql.Connection;
import java.util.Iterator;
import java.util.List;
import javax.xml.soap.Name;
import javax.xml.soap.SOAPBody;
import javax.xml.soap.SOAPBodyElement;
import javax.xml.soap.SOAPElement;
import javax.xml.soap.SOAPEnvelope;
import com.gctech.misc.CONSTANTS;
import com.gctech.misc.provision.dao.CyncrecordDAO;
import com.gctech.misc.provision.dao.SubrelationDAO;
import com.gctech.misc.util.Base64Util;
import com.gctech.misc.util.StringUtility;
import com.icss.j2ee.dao.DAOFactory;
/**
* <p>Title: 处理Provision订购关系同步请求</p>
* <p>Description:</p>
* <p>Copyright: Copyright (c) Gctech 2004-7-29</p>
* <p>Company: 吉芙德资讯有限公司</p>
*
* @version 1.0
* @author liyi
*
*/
public class RequestHandler {
public ExchangeData handle(SOAPEnvelope reqEnv, String TransactionID, Connection conn) throws Exception {
try {
ExchangeData exchangeData = new ExchangeData();
//添加
CyncrecordDAO CyncDao = new CyncrecordDAO();
SubrelationDAO SubDao = new SubrelationDAO();
CyncDao.setConnection(conn);
SubDao.setConnection(conn);
Base64Util base64util = new Base64Util();
CyncDao.setTransactionid(TransactionID);
CyncDao.setTranId(TransactionID);
SOAPBody reqBody = reqEnv.getBody();
Name reqName = reqEnv.createName("SyncOrderRelationReq", "dsmp", "http://www.monternet.com/dsmp/schemas/");
Iterator ite = reqBody.getChildElements(reqName);
SOAPBodyElement bodyElement = (SOAPBodyElement) ite.next();
Name MsgType = reqEnv.createName("MsgType");
ite = bodyElement.getChildElements(MsgType);
if (ite.hasNext()) {
SOAPElement element = (SOAPElement) ite.next();
System.out.println("MsgType:" + element.getValue());
CyncDao.setMsgtype(element.getValue());
}
Name Version = reqEnv.createName("Version");
ite = bodyElement.getChildElements(Version);
if (ite.hasNext()) {
SOAPElement element = (SOAPElement) ite.next();
System.out.println("Version:" + element.getValue());
CyncDao.setVersion(element.getValue());
}
Name Send_Address = reqEnv.createName("Send_Address");
ite = bodyElement.getChildElements(Send_Address);
if (ite.hasNext()) {
SOAPElement element = (SOAPElement) ite.next();
Name DeviceType = reqEnv.createName("DeviceType");
ite = element.getChildElements(DeviceType);
if (ite.hasNext()) {
SOAPElement elementChildren = (SOAPElement) ite.next();
System.out.println("DeviceType:" + elementChildren.getValue());
CyncDao.setSendDevicetype(elementChildren.getValue());
}
Name DeviceID = reqEnv.createName("DeviceID");
ite = element.getChildElements(DeviceID);
if (ite.hasNext()) {
SOAPElement elementChildren = (SOAPElement) ite.next();
System.out.println("DeviceID:" + elementChildren.getValue());
CyncDao.setSendDeviceid(elementChildren.getValue());
}
}
Name Dest_Address = reqEnv.createName("Dest_Address");
ite = bodyElement.getChildElements(Dest_Address);
if (ite.hasNext()) {
SOAPElement element = (SOAPElement) ite.next();
Name DeviceType = reqEnv.createName("DeviceType");
ite = element.getChildElements(DeviceType);
if (ite.hasNext()) {
SOAPElement elementChildren = (SOAPElement) ite.next();
System.out.println("DeviceType:" + elementChildren.getValue());
CyncDao.setDestDevicetype(elementChildren.getValue());
}
Name DeviceID = reqEnv.createName("DeviceID");
ite = element.getChildElements(DeviceID);
if (ite.hasNext()) {
SOAPElement elementChildren = (SOAPElement) ite.next();
System.out.println("DeviceID:" + elementChildren.getValue());
CyncDao.setDestDeviceid(elementChildren.getValue());
}
}
Name FeeUser_ID = reqEnv.createName("FeeUser_ID");
ite = bodyElement.getChildElements(FeeUser_ID);
if (ite.hasNext()) {
SOAPElement element = (SOAPElement) ite.next();
Name UserIDType = reqEnv.createName("UserIDType");
ite = element.getChildElements(UserIDType);
if (ite.hasNext()) {
SOAPElement elementChildren = (SOAPElement) ite.next();
System.out.println("UserIDType:" + elementChildren.getValue());
CyncDao.setFeeUsertype(elementChildren.getValue());
SubDao.setFeeterminalType(elementChildren.getValue());
}
Name MSISDN = reqEnv.createName("MSISDN");
ite = element.getChildElements(MSISDN);
if (ite.hasNext()) {
SOAPElement elementChildren = (SOAPElement) ite.next();
System.out.println("MSISDN:" + elementChildren.getValue());
CyncDao.setFeeMsisdn(elementChildren.getValue());
SubDao.setFeeterminalMsisdn(elementChildren.getValue());
exchangeData.setFeeMSISDN(elementChildren.getValue());
}
Name PseudoCode = reqEnv.createName("PseudoCode");
ite = element.getChildElements(PseudoCode);
if (ite.hasNext()) {
SOAPElement elementChildren = (SOAPElement) ite.next();
System.out.println("PseudoCode:" + elementChildren.getValue());
CyncDao.setFeePseudocode(base64util.decode(elementChildren.getValue()));
SubDao.setFeeterminalPseudocode(base64util.decode(elementChildren.getValue()));
exchangeData.setFeePseudoCode(elementChildren.getValue());
}
}
Name DestUser_ID = reqEnv.createName("DestUser_ID");
ite = bodyElement.getChildElements(DestUser_ID);
if (ite.hasNext()) {
SOAPElement element = (SOAPElement) ite.next();
Name UserIDType = reqEnv.createName("UserIDType");
ite = element.getChildElements(UserIDType);
if (ite.hasNext()) {
SOAPElement elementChildren = (SOAPElement) ite.next();
System.out.println("UserIDType:" + elementChildren.getValue());
CyncDao.setDestUsertype(elementChildren.getValue());
SubDao.setDestterminalType(elementChildren.getValue());
}
Name MSISDN = reqEnv.createName("MSISDN");
ite = element.getChildElements(MSISDN);
if (ite.hasNext()) {
SOAPElement elementChildren = (SOAPElement) ite.next();
System.out.println("MSISDN:" + elementChildren.getValue());
CyncDao.setDestMsisdn(elementChildren.getValue());
SubDao.setDestterminalMsisdn(elementChildren.getValue());
exchangeData.setDestMSISDN(elementChildren.getValue());
}
Name PseudoCode = reqEnv.createName("PseudoCode");
ite = element.getChildElements(PseudoCode);
if (ite.hasNext()) {
SOAPElement elementChildren = (SOAPElement) ite.next();
System.out.println("PseudoCode:" + elementChildren.getValue());
CyncDao.setDestPseudocode(base64util.decode(elementChildren.getValue()));
SubDao.setDestterminalPseudocode(base64util.decode(elementChildren.getValue()));
exchangeData.setDestPseudoCode(elementChildren.getValue());
}
}
Name LinkID = reqEnv.createName("LinkID");
ite = bodyElement.getChildElements(LinkID);
if (ite.hasNext()) {
SOAPElement element = (SOAPElement) ite.next();
System.out.println("LinkID:" + element.getValue());
CyncDao.setLindId(element.getValue());
exchangeData.setLinkID(element.getValue());
}
//标识同步关系请求的类型1:定购 2:取消
String operateType = "";
Name ActionID = reqEnv.createName("ActionID");
ite = bodyElement.getChildElements(ActionID);
if (ite.hasNext()) {
SOAPElement element = (SOAPElement) ite.next();
System.out.println("ActionID:" + element.getValue());
operateType = element.getValue();
if (CONSTANTS.START_SERVICE.equals(operateType))
CyncDao.setActionId(element.getValue());
exchangeData.setActionID(element.getValue());
}
Name ActionReasonID = reqEnv.createName("ActionReasonID");
ite = bodyElement.getChildElements(ActionReasonID);
if (ite.hasNext()) {
SOAPElement element = (SOAPElement) ite.next();
System.out.println("ActionReasonID:" + element.getValue());
CyncDao.setActionreasonId(element.getValue());
}
Name SPID = reqEnv.createName("SPID");
ite = bodyElement.getChildElements(SPID);
if (ite.hasNext()) {
SOAPElement element = (SOAPElement) ite.next();
System.out.println("SPID:" + element.getValue());
CyncDao.setSpId(element.getValue());
SubDao.setSpId(element.getValue());
}
Name SPServiceID = reqEnv.createName("SPServiceID");
ite = bodyElement.getChildElements(SPServiceID);
if (ite.hasNext()) {
SOAPElement element = (SOAPElement) ite.next();
System.out.println("SPServiceID:" + element.getValue());
CyncDao.setSpserviceId(element.getValue());
SubDao.setServiceId(element.getValue());
exchangeData.setSPServiceID(element.getValue());
}
Name AccessMode = reqEnv.createName("AccessMode");
ite = bodyElement.getChildElements(AccessMode);
if (ite.hasNext()) {
SOAPElement element = (SOAPElement) ite.next();
System.out.println("AccessMode:" + element.getValue());
CyncDao.setAccessmode(element.getValue());
}
Name FeatureStr = reqEnv.createName("FeatureStr");
ite = bodyElement.getChildElements(FeatureStr);
String[] subCommand = { "" };
if (ite.hasNext()) {
SOAPElement element = (SOAPElement) ite.next();
System.out.println("FeatureStr:" + element.getValue());
CyncDao.setFeaturestr(base64util.decode(element.getValue()));
//SubDao.setServiceKey(base64util.decode(element.getValue()));
System.out.println("FeatureStr:" + base64util.decode(element.getValue()));
subCommand = StringUtility.split(base64util.decode(element.getValue()), ",");
}
Long nowTime = new Long(System.currentTimeMillis());
//添加定购同步记录
CyncDao.setGenerateTime(nowTime);
CyncDao.create();
//添加订阅记录
SubDao.setSubdate(nowTime);
if (!CONSTANTS.END_SERVICE.equals(operateType)) {
//SubDao.setServiceKey(subCommand[1].substring(0, subCommand[1].length() - 1));
SubDao.setServiceKey("news");
DAOFactory factory = new DAOFactory(conn);
factory.setDAO(SubDao);
List subList = factory.find();
Iterator subIte = subList.iterator();
if (subIte.hasNext()) {
SubDao = (SubrelationDAO) subIte.next();
SubDao.setStatus(operateType);
SubDao.update(true);
}
} else if (!CONSTANTS.START_SERVICE.equals(operateType)) {
if (subCommand.length == 1) {
SubDao.setServiceKey(subCommand[0]);
} else if (subCommand.length > 1 && subCommand[1] != null)
SubDao.setServiceKey(subCommand[1]);
SubDao.setStatus(CONSTANTS.START_SERVICE);
SubDao.create();
}
return exchangeData;
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -