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); + } + /** * 仅发送动态消息