From dc2dbad99dd6b20527c89f7c19a4cdc46fd2cdd9 Mon Sep 17 00:00:00 2001 From: zhouxiunai <154707516@qq.com> Date: Sun, 28 Apr 2019 12:05:11 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9ABNDATA=20=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=BB=93=E6=9E=84=E3=80=82=E5=8E=BB=E9=99=A4?= =?UTF-8?q?=E5=8D=95=E7=8B=AC=E7=9A=84body=E4=B8=BAkey=20=E6=A0=B9?= =?UTF-8?q?=E6=8D=AEtype=E7=B1=BB=E5=9E=8B=E5=A2=9E=E5=8A=A0=E4=B8=8D?= =?UTF-8?q?=E5=90=8C=E7=9A=84key?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../msgexchangeapi/entity/msg/ABNDATA.java | 55 ++++++++++++++++--- .../msghandler/flop/CNCLHandler.java | 2 +- .../msghandler/flop/DELYHandler.java | 2 +- .../msghandler/flop/FDIVHandler.java | 2 +- .../msghandler/flop/FRETHandler.java | 2 +- .../flightInfo/FlightHisServiceImpl.java | 11 +--- 6 files changed, 54 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/entity/msg/ABNDATA.java b/src/main/java/com/gzzn/omms/msgexchangeapi/entity/msg/ABNDATA.java index 63dc27be..1f9b1f37 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/entity/msg/ABNDATA.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/entity/msg/ABNDATA.java @@ -1,5 +1,7 @@ package com.gzzn.omms.msgexchangeapi.entity.msg; +import java.util.List; + import javax.xml.bind.annotation.XmlElement; import com.fasterxml.jackson.annotation.JsonProperty; @@ -8,10 +10,22 @@ public class ABNDATA { @XmlElement(name = "TYPE", required = true) @JsonProperty("TYPE") protected ABNORMALTYPE type; + + @XmlElement(name = "CNCL") + @JsonProperty("CNCL") + protected String cncl;//航班取消异常信息 - @XmlElement(name = "BODY") - @JsonProperty("BODY") - protected Object body;//可变类型,根据Type 变化 + @XmlElement(name = "DELY") + @JsonProperty("DELY") + protected List dely;//航班延误异常信息 + + @XmlElement(name = "FDIV") + @JsonProperty("FDIV") + protected DIVERSIONDATA fdiv;//航班备降延误异常信息 + + @XmlElement(name = "FRET") + @JsonProperty("FRET") + protected RETURNDATA fret;//航班返航异常信息 public ABNORMALTYPE getType() { return type; @@ -21,11 +35,36 @@ public class ABNDATA { this.type = type; } - public Object getBody() { - return body; + + public String getCncl() { + return cncl; } - - public void setBody(Object body) { - this.body = body; + + public void setCncl(String cncl) { + this.cncl = cncl; + } + + public List getDely() { + return dely; + } + + public void setDely(List dely) { + this.dely = dely; + } + + public DIVERSIONDATA getFdiv() { + return fdiv; + } + + public void setFdiv(DIVERSIONDATA fdiv) { + this.fdiv = fdiv; + } + + public RETURNDATA getFret() { + return fret; + } + + public void setFret(RETURNDATA fret) { + this.fret = fret; } } 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 dc790b41..58fcb3f7 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 @@ -36,7 +36,7 @@ public class CNCLHandler extends FlopBaseHandler { // ABNDATA abndata = new ABNDATA(); abndata.setType(ABNORMALTYPE.CAN); - abndata.setBody(flop.getCNCL()); + abndata.setCncl(flop.getCNCL()); fltr.getAbn().add(abndata); diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/DELYHandler.java b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/DELYHandler.java index eb6c63dc..7a9cd4f0 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/DELYHandler.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/DELYHandler.java @@ -62,7 +62,7 @@ public class DELYHandler extends FlopBaseHandler { //DELY 作为一个abn元素,元素类型为 数组 ABNDATA abndata = new ABNDATA(); abndata.setType(ABNORMALTYPE.DLY); - abndata.setBody(flop.getDELY()); + abndata.setDely(flop.getDELY()); fltr.getAbn().add(abndata); return fltr; diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/FDIVHandler.java b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/FDIVHandler.java index a0dbb9b0..ed7f18d0 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/FDIVHandler.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/FDIVHandler.java @@ -43,7 +43,7 @@ public class FDIVHandler extends FlopBaseHandler { // ABNDATA abndata = new ABNDATA(); abndata.setType(ABNORMALTYPE.ALT); - abndata.setBody(diversionData); + abndata.setFdiv(diversionData); fltr.getAbn().add(abndata); diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/FRETHandler.java b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/FRETHandler.java index a77d177d..f44a18bc 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/FRETHandler.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/FRETHandler.java @@ -32,7 +32,7 @@ public class FRETHandler extends FlopBaseHandler { // ABNDATA abndata = new ABNDATA(); abndata.setType(ABNORMALTYPE.RTN); - abndata.setBody(flop.getFRET()); + abndata.setFret(flop.getFRET()); fltr.getAbn().add(abndata); diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/service/flightInfo/FlightHisServiceImpl.java b/src/main/java/com/gzzn/omms/msgexchangeapi/service/flightInfo/FlightHisServiceImpl.java index fcfd4f6c..c4c4271a 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/service/flightInfo/FlightHisServiceImpl.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/service/flightInfo/FlightHisServiceImpl.java @@ -125,8 +125,8 @@ public class FlightHisServiceImpl { /** * 保存航班历史到ELK - * @param fltrs - * @return 成功保存的航班动态 + * @param fltrs 航班动态列表 + * @return 成功保存的航班动态列表 */ public List save(List fltrs) { @@ -134,18 +134,13 @@ public class FlightHisServiceImpl { for(FLTR fltr : fltrs){ try { - //先转换航班信息为可存储到es 中的fltr dto 对象 - FltrEsDto fltrEsDto = fltrConvert.FltrToFltrEsDto(fltr); - - - JSONObject jsondata = JSONObject.parseObject(JsonUtil.getString(fltrEsDto)); - //判断是否已经拥有该历史数据 因es类型原因请注意类型转换 String SODT = fltr.getSODT(); Long FLID = fltr.getFLID().longValue(); BoolQueryBuilder boolQuery = QueryBuilders.boolQuery() .must(QueryBuilders.termQuery("SODT",SODT)) .must(QueryBuilders.termQuery("FLID",FLID)); List> listInEs = ElasticsearchUtil.searchListData(INDEX_NAME, ES_TYPE, boolQuery, null, "FLID", null, null, null); + JSONObject jsondata = JSONObject.parseObject(JsonUtil.getString(fltr)); if(!CollectionUtils.isEmpty(listInEs)){ //更新