From b55c44626162d5c6e9f0b3c44ebd39cc3bbf8956 Mon Sep 17 00:00:00 2001 From: zhouxiunai <154707516@qq.com> Date: Wed, 16 Jan 2019 10:44:37 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=B1=E4=BA=AB=E8=88=AA=E7=8F=AD=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E5=90=8E=EF=BC=8C=E6=9B=B4=E6=96=B0=E4=B8=BB=E8=88=AA?= =?UTF-8?q?=E7=8F=AD=E4=BF=A1=E6=81=AF=E5=B9=B6=E6=8E=A8=E9=80=81=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E7=BB=99=E5=89=8D=E7=AB=AF=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../msghandler/flop/FDELHandler.java | 24 +++++++++++++++---- .../msghandler/flop/base/FlopBaseHandler.java | 11 +++++++++ 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/FDELHandler.java b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/FDELHandler.java index b2dcb154..9572557a 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/FDELHandler.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/FDELHandler.java @@ -2,9 +2,11 @@ package com.gzzn.omms.msgexchangeapi.msghandler.flop; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.util.StringUtils; import com.gzzn.omms.msgexchangeapi.entity.CminmsgWapper; import com.gzzn.omms.msgexchangeapi.entity.msg.FLOP; +import com.gzzn.omms.msgexchangeapi.entity.msg.MAFLDATA; import com.gzzn.omms.msgexchangeapi.entity.msg.MSG; import com.gzzn.omms.msgexchangeapi.entity.msg.SCHD; import com.gzzn.omms.msgexchangeapi.msghandler.HandlerResult; @@ -31,14 +33,28 @@ public class FDELHandler extends FlopBaseHandler { // flightInfoService.deleteFltr(fltr); - - //TODO: 如果是共享航班,更新对应的主航班共享航班列表。从主航班中删除 - - //send and update this.sendMsg(cminmsg); //只发送删除消息,前端自行物理删除动态航班信息 this.updateCminmsgToProcessed(cminmsg); + //如果是共享航班,要对应更新 + if(null != fltr.getMAID()) + { + SCHD.FLTR fltrMafl = flightInfoService.getByFlid(fltr.getMAID().toString()); //获取对应的主航班 + //TODO: 如果是共享航班,更新对应的主航班共享航班列表。从主航班中删除 + for(int i=0;i < fltrMafl.getMafl().size();i++) + { + MAFLDATA mafldata = fltrMafl.getMafl().get(i); + if(mafldata.getFlid() == fltr.getFLID()) + { + fltrMafl.getMafl().remove(i); + } + }//end for + + //推送变更后的主航班信息 + this.sendFltr(fltrMafl); + } + return HandlerResult.success(fltr); } else { diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/base/FlopBaseHandler.java b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/base/FlopBaseHandler.java index 362bb600..8ced18c2 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/base/FlopBaseHandler.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/base/FlopBaseHandler.java @@ -101,6 +101,17 @@ public class FlopBaseHandler implements IBaseHandler { kafkaservice.msgSend("msg", msg); } + /** + * 发送动态航班信息 + * @param fltr + */ + protected void sendFltr(SCHD.FLTR fltr) + { + //send schd + String schdMsg = JsonUtil.getString(fltr); + kafkaservice.msgSend("schd", schdMsg); + } + /** * 仅发送动态消息