From e72e9183fd94555923f6ccdb0550c34d79481294 Mon Sep 17 00:00:00 2001 From: zhouxiunai <154707516@qq.com> Date: Mon, 10 Dec 2018 15:28:36 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84=E6=8A=BD=E8=B1=A1=E6=89=80?= =?UTF-8?q?=E6=9C=89=E7=9A=84=E4=BA=8B=E4=BB=B6=E5=A4=84=E7=90=86=EF=BC=8C?= =?UTF-8?q?=E5=8F=AA=E8=A6=81=E9=87=8D=E5=86=99updateFltr=20=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6=E6=9B=B4=E6=96=B0fltr=E5=B9=B6=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E6=9C=80=E6=96=B0=E7=9A=84=E5=80=BC=20=E5=8D=B3=E5=8F=AF?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../msghandler/flop/ACFTHandler.java | 36 +++------------- .../msghandler/flop/ACTTHandler.java | 31 +++---------- .../msghandler/flop/BDPBHandler.java | 38 +++------------- .../msghandler/flop/BOTMHandler.java | 35 ++++----------- .../msghandler/flop/CKDTHandler.java | 43 +++++-------------- .../msghandler/flop/CLDTHandler.java | 42 ++++++------------ .../msghandler/flop/CNCLHandler.java | 5 +-- .../msghandler/flop/FlopBaseHandler.java | 11 +++-- 8 files changed, 62 insertions(+), 179 deletions(-) diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/ACFTHandler.java b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/ACFTHandler.java index 0a7dec8f..c7cd80f6 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/ACFTHandler.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/ACFTHandler.java @@ -3,10 +3,8 @@ package com.gzzn.omms.msgexchangeapi.msghandler.flop; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.gzzn.omms.msgexchangeapi.entity.Cminmsg; -import com.gzzn.omms.msgexchangeapi.entity.msg.MSG; +import com.gzzn.omms.msgexchangeapi.entity.msg.FLOP; import com.gzzn.omms.msgexchangeapi.entity.msg.SCHD; -import com.gzzn.omms.msgexchangeapi.msghandler.HandlerResult; /** * 航班机型事件 @@ -17,32 +15,12 @@ public class ACFTHandler extends FlopBaseHandler { private static Logger logger = LoggerFactory.getLogger(ACFTHandler.class); - /** - * 处理航班消息,更新航班动态信息 - * @param msg 要处理的xml消息 - * @return 处理结果及影响的动态航班信息 - */ @Override - public HandlerResult run(Cminmsg cminmsg) { - MSG acftMsg = exchangeService.xmlstrToObject(cminmsg.getCminmsgsClobMsg(), MSG.class); - SCHD.FLTR fltr = flightInfoService.getByFlid(acftMsg.getFLOP().get(0).getFLID().toString()); - if(null != fltr) - { - //save - fltr.setACFT(acftMsg.getFLOP().get(0).getACFT()); - flightInfoService.saveFltr(fltr); - - //send and update - this.sendFltrAndMsg(fltr, cminmsg); - this.updateCminmsgToProcessed(cminmsg); - - return HandlerResult.success(fltr); - } - else { - //没有该动态航班信息 - logger.warn("没有flid为:{}的消息",acftMsg.getFLOP().get(0).getFLID()); - } + protected SCHD.FLTR updateFltr(FLOP flop,SCHD.FLTR fltr) + { + //update + fltr.setACFT(flop.getACFT()); - return HandlerResult.failure(); - }//end function + return fltr; + } } diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/ACTTHandler.java b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/ACTTHandler.java index 0e60baa7..d484d42a 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/ACTTHandler.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/ACTTHandler.java @@ -3,10 +3,8 @@ package com.gzzn.omms.msgexchangeapi.msghandler.flop; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.gzzn.omms.msgexchangeapi.entity.Cminmsg; -import com.gzzn.omms.msgexchangeapi.entity.msg.MSG; +import com.gzzn.omms.msgexchangeapi.entity.msg.FLOP; import com.gzzn.omms.msgexchangeapi.entity.msg.SCHD; -import com.gzzn.omms.msgexchangeapi.msghandler.HandlerResult; /** * 航班实际时间事件 @@ -15,28 +13,13 @@ import com.gzzn.omms.msgexchangeapi.msghandler.HandlerResult; */ public class ACTTHandler extends FlopBaseHandler{ private static Logger logger = LoggerFactory.getLogger(ACTTHandler.class); - + @Override - public HandlerResult run(Cminmsg cminmsg) { - MSG acttMsg = exchangeService.xmlstrToObject(cminmsg.getCminmsgsClobMsg(), MSG.class); - SCHD.FLTR fltr = flightInfoService.getByFlid(acttMsg.getFLOP().get(0).getFLID().toString()); - if(null != fltr) - { - //save - fltr.setACTT(acttMsg.getFLOP().get(0).getACTT()); - flightInfoService.saveFltr(fltr); - - //send and update - this.sendFltrAndMsg(fltr, cminmsg); - this.updateCminmsgToProcessed(cminmsg); - - return HandlerResult.success(fltr); - } - else { - //没有该动态航班信息 - logger.warn("没有flid为:{}的消息",acttMsg.getFLOP().get(0).getFLID()); - } + protected SCHD.FLTR updateFltr(FLOP flop,SCHD.FLTR fltr) + { + //update + fltr.setACTT(flop.getACTT()); - return HandlerResult.failure(); + return fltr; } } diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/BDPBHandler.java b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/BDPBHandler.java index 7cefd5c2..4833b06c 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/BDPBHandler.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/BDPBHandler.java @@ -3,41 +3,17 @@ package com.gzzn.omms.msgexchangeapi.msghandler.flop; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.gzzn.omms.msgexchangeapi.entity.Cminmsg; -import com.gzzn.omms.msgexchangeapi.entity.msg.MSG; +import com.gzzn.omms.msgexchangeapi.entity.msg.FLOP; import com.gzzn.omms.msgexchangeapi.entity.msg.SCHD; -import com.gzzn.omms.msgexchangeapi.msghandler.HandlerResult; -import com.gzzn.omms.msgexchangeapi.service.exchange.IExchangeService; -import com.gzzn.omms.msgexchangeapi.service.flightInfo.IFlightInfoService; -import com.gzzn.omms.msgexchangeapi.utils.SpringUtil; public class BDPBHandler extends FlopBaseHandler { - private static Logger logger = LoggerFactory.getLogger(ACFTHandler.class); + private static Logger logger = LoggerFactory.getLogger(BDPBHandler.class); @Override - public HandlerResult run(Cminmsg cminmsg) { - IExchangeService exchangeService = (IExchangeService) SpringUtil.getBean("exchangeService"); - IFlightInfoService flightInfoService = (IFlightInfoService) SpringUtil.getBean("flightInfoService"); + protected SCHD.FLTR updateFltr(FLOP flop,SCHD.FLTR fltr) + { + //TO: 文档未描述该事件是什么 - MSG bdpbMsg = exchangeService.xmlstrToObject(cminmsg.getCminmsgsClobMsg(), MSG.class); - SCHD.FLTR fltr = flightInfoService.getByFlid(bdpbMsg.getFLOP().get(0).getFLID().toString()); - if(null != fltr) - { - //TO: 文档未描述该事件是什么 - //fltr.setBOTM(bdpbMsg.getFLOP().getBDPB()); - //flightInfoService.saveFltr(fltr); - - //send and update - this.sendFltrAndMsg(fltr, cminmsg); - this.updateCminmsgToProcessed(cminmsg); - - return HandlerResult.success(fltr); - } - else { - //没有该动态航班信息 - logger.warn("没有flid为:{}的消息",bdpbMsg.getFLOP().get(0).getFLID()); - } - - return HandlerResult.failure(); - } //end method + return fltr; + } } diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/BOTMHandler.java b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/BOTMHandler.java index 27cab1e8..5370f3d2 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/BOTMHandler.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/BOTMHandler.java @@ -3,10 +3,8 @@ package com.gzzn.omms.msgexchangeapi.msghandler.flop; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.gzzn.omms.msgexchangeapi.entity.Cminmsg; -import com.gzzn.omms.msgexchangeapi.entity.msg.MSG; +import com.gzzn.omms.msgexchangeapi.entity.msg.FLOP; import com.gzzn.omms.msgexchangeapi.entity.msg.SCHD; -import com.gzzn.omms.msgexchangeapi.msghandler.HandlerResult; /** * 航班登机时间事件处理 @@ -14,30 +12,15 @@ import com.gzzn.omms.msgexchangeapi.msghandler.HandlerResult; * */ public class BOTMHandler extends FlopBaseHandler { - private static Logger logger = LoggerFactory.getLogger(ACFTHandler.class); - + private static Logger logger = LoggerFactory.getLogger(BOTMHandler.class); + @Override - public HandlerResult run(Cminmsg cminmsg) { - MSG botmMsg = exchangeService.xmlstrToObject(cminmsg.getCminmsgsClobMsg(), MSG.class); - SCHD.FLTR fltr = flightInfoService.getByFlid(botmMsg.getFLOP().get(0).getFLID().toString()); - if(null != fltr) - { - //save - fltr.setBOTM(botmMsg.getFLOP().get(0).getBOTM()); - flightInfoService.saveFltr(fltr); - - //send and update - this.sendFltrAndMsg(fltr, cminmsg); - this.updateCminmsgToProcessed(cminmsg); - - return HandlerResult.success(fltr); - } - else { - //没有该动态航班信息 - logger.warn("没有flid为:{}的消息",botmMsg.getFLOP().get(0).getFLID()); - } + protected SCHD.FLTR updateFltr(FLOP flop,SCHD.FLTR fltr) + { + //TO: 文档未描述该事件是什么 + fltr.setBOTM(flop.getBOTM()); - return HandlerResult.failure(); - } + return fltr; + } } diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/CKDTHandler.java b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/CKDTHandler.java index db64a3c1..bad89a8b 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/CKDTHandler.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/CKDTHandler.java @@ -4,12 +4,10 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; -import com.gzzn.omms.msgexchangeapi.entity.Cminmsg; import com.gzzn.omms.msgexchangeapi.entity.msg.DESKDATA; -import com.gzzn.omms.msgexchangeapi.entity.msg.MSG; +import com.gzzn.omms.msgexchangeapi.entity.msg.FLOP; import com.gzzn.omms.msgexchangeapi.entity.msg.OPTDESKDATA; import com.gzzn.omms.msgexchangeapi.entity.msg.SCHD; -import com.gzzn.omms.msgexchangeapi.msghandler.HandlerResult; /** * 值机柜台事件处理 @@ -17,39 +15,20 @@ import com.gzzn.omms.msgexchangeapi.msghandler.HandlerResult; * */ public class CKDTHandler extends FlopBaseHandler { - private static Logger logger = LoggerFactory.getLogger(ACFTHandler.class); + private static Logger logger = LoggerFactory.getLogger(CKDTHandler.class); @Override - public HandlerResult run(Cminmsg cminmsg) { - MSG ckdtMsg = exchangeService.xmlstrToObject(cminmsg.getCminmsgsClobMsg(), MSG.class); - SCHD.FLTR fltr = flightInfoService.getByFlid(ckdtMsg.getFLOP().get(0).getFLID().toString()); - if(null != fltr) + protected SCHD.FLTR updateFltr(FLOP flop,SCHD.FLTR fltr) + { + fltr.getCKDT().clear(); //清空旧数据 + for(OPTDESKDATA optdeskdata : flop.getCKDT() ) { - //save - fltr.getCKDT().clear(); //清空旧数据 - for(OPTDESKDATA optdeskdata : ckdtMsg.getFLOP().get(0).getCKDT() ) - { - DESKDATA deskdata = new DESKDATA(); - BeanUtils.copyProperties(optdeskdata, deskdata); - - fltr.getCKDT().add(deskdata); - } //添加新数据 + DESKDATA deskdata = new DESKDATA(); + BeanUtils.copyProperties(optdeskdata, deskdata); - - flightInfoService.saveFltr(fltr); - - //send and update - this.sendFltrAndMsg(fltr, cminmsg); - this.updateCminmsgToProcessed(cminmsg); - - return HandlerResult.success(fltr); - } - else { - //没有该动态航班信息 - logger.warn("没有flid为:{}的消息",ckdtMsg.getFLOP().get(0).getFLID()); - } + fltr.getCKDT().add(deskdata); + } //添加新数据 - return HandlerResult.failure(); + return fltr; } - } diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/CLDTHandler.java b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/CLDTHandler.java index 5b36b505..5020838c 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/CLDTHandler.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/CLDTHandler.java @@ -4,12 +4,10 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; -import com.gzzn.omms.msgexchangeapi.entity.Cminmsg; import com.gzzn.omms.msgexchangeapi.entity.msg.BELTDATA; -import com.gzzn.omms.msgexchangeapi.entity.msg.MSG; +import com.gzzn.omms.msgexchangeapi.entity.msg.FLOP; import com.gzzn.omms.msgexchangeapi.entity.msg.OPTBELTDATA; import com.gzzn.omms.msgexchangeapi.entity.msg.SCHD; -import com.gzzn.omms.msgexchangeapi.msghandler.HandlerResult; /** * 行李转盘事件 carousel @@ -19,36 +17,20 @@ import com.gzzn.omms.msgexchangeapi.msghandler.HandlerResult; public class CLDTHandler extends FlopBaseHandler { private static Logger logger = LoggerFactory.getLogger(CLDTHandler.class); + + @Override - public HandlerResult run(Cminmsg cminmsg) { - MSG cldtMsg = exchangeService.xmlstrToObject(cminmsg.getCminmsgsClobMsg(), MSG.class); - SCHD.FLTR fltr = flightInfoService.getByFlid(cldtMsg.getFLOP().get(0).getFLID().toString()); - if(null != fltr) + protected SCHD.FLTR updateFltr(FLOP flop,SCHD.FLTR fltr) + { + fltr.getCLDT().clear(); //清空旧数据 + for(OPTBELTDATA optbeltdata : flop.getCLDT() ) { - //save - fltr.getCLDT().clear(); //清空旧数据 - for(OPTBELTDATA optbeltdata : cldtMsg.getFLOP().get(0).getCLDT() ) - { - BELTDATA beltdata = new BELTDATA(); - BeanUtils.copyProperties(optbeltdata, beltdata); - - fltr.getCLDT().add(beltdata); - } //添加新数据 + BELTDATA beltdata = new BELTDATA(); + BeanUtils.copyProperties(optbeltdata, beltdata); - - flightInfoService.saveFltr(fltr); - - //send and update - this.sendFltrAndMsg(fltr, cminmsg); - this.updateCminmsgToProcessed(cminmsg); - - return HandlerResult.success(fltr); - } - else { - //没有该动态航班信息 - logger.warn("没有flid为:{}的消息",cldtMsg.getFLOP().get(0).getFLID()); - } + fltr.getCLDT().add(beltdata); + } //添加新数据 - return HandlerResult.failure(); + return fltr; } } diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/CNCLHandler.java b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/CNCLHandler.java index 61a53e36..ccc73ef5 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/CNCLHandler.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/CNCLHandler.java @@ -15,11 +15,10 @@ public class CNCLHandler extends FlopBaseHandler { private static Logger logger = LoggerFactory.getLogger(CNCLHandler.class); @Override - protected SCHD.FLTR handlerMsg(FLOP flop,SCHD.FLTR fltr) + protected SCHD.FLTR updateFltr(FLOP flop,SCHD.FLTR fltr) { - //save + //update fltr.setCNCL(flop.getCNCL()); - flightInfoService.saveFltr(fltr); return fltr; } diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/FlopBaseHandler.java b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/FlopBaseHandler.java index 2db5d3d1..895def1f 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/FlopBaseHandler.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/FlopBaseHandler.java @@ -53,7 +53,10 @@ public class FlopBaseHandler implements IBaseHandler { if(null != fltr) { - SCHD.FLTR fltrResult = handlerMsg(flop,fltr); + SCHD.FLTR fltrResult = updateFltr(flop,fltr); + + // + flightInfoService.saveFltr(fltrResult); //send and update this.sendFltrAndMsg(fltrResult, cminmsg); @@ -69,13 +72,13 @@ public class FlopBaseHandler implements IBaseHandler { } /** - * 关键处理逻辑 ,子类只需要重写本方法处理更新fltr的逻辑 + * 关键处理逻辑 ,更新航班动态信息 * @param flop 消息 * @param fltr 存在的航班动态信息 */ - protected SCHD.FLTR handlerMsg(FLOP flop,SCHD.FLTR fltr) + protected SCHD.FLTR updateFltr(FLOP flop,SCHD.FLTR fltr) { - logger.warn("默认handlerMsg,不进行任何消息处理逻辑"); + logger.warn("默认updateFltr,不进行任何消息处理逻辑"); return fltr; }