修改ABNDATA 异常数据结构。去除单独的body为key 根据type类型增加不同的key
This commit is contained in:
@@ -1,5 +1,7 @@
|
|||||||
package com.gzzn.omms.msgexchangeapi.entity.msg;
|
package com.gzzn.omms.msgexchangeapi.entity.msg;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import javax.xml.bind.annotation.XmlElement;
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
@@ -8,10 +10,22 @@ public class ABNDATA {
|
|||||||
@XmlElement(name = "TYPE", required = true)
|
@XmlElement(name = "TYPE", required = true)
|
||||||
@JsonProperty("TYPE")
|
@JsonProperty("TYPE")
|
||||||
protected ABNORMALTYPE type;
|
protected ABNORMALTYPE type;
|
||||||
|
|
||||||
|
@XmlElement(name = "CNCL")
|
||||||
|
@JsonProperty("CNCL")
|
||||||
|
protected String cncl;//航班取消异常信息
|
||||||
|
|
||||||
@XmlElement(name = "BODY")
|
@XmlElement(name = "DELY")
|
||||||
@JsonProperty("BODY")
|
@JsonProperty("DELY")
|
||||||
protected Object body;//可变类型,根据Type 变化
|
protected List<OPTDELAYDATA> dely;//航班延误异常信息
|
||||||
|
|
||||||
|
@XmlElement(name = "FDIV")
|
||||||
|
@JsonProperty("FDIV")
|
||||||
|
protected DIVERSIONDATA fdiv;//航班备降延误异常信息
|
||||||
|
|
||||||
|
@XmlElement(name = "FRET")
|
||||||
|
@JsonProperty("FRET")
|
||||||
|
protected RETURNDATA fret;//航班返航异常信息
|
||||||
|
|
||||||
public ABNORMALTYPE getType() {
|
public ABNORMALTYPE getType() {
|
||||||
return type;
|
return type;
|
||||||
@@ -21,11 +35,36 @@ public class ABNDATA {
|
|||||||
this.type = type;
|
this.type = type;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Object getBody() {
|
|
||||||
return body;
|
public String getCncl() {
|
||||||
|
return cncl;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setBody(Object body) {
|
public void setCncl(String cncl) {
|
||||||
this.body = body;
|
this.cncl = cncl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<OPTDELAYDATA> getDely() {
|
||||||
|
return dely;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDely(List<OPTDELAYDATA> 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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ public class CNCLHandler extends FlopBaseHandler {
|
|||||||
//
|
//
|
||||||
ABNDATA abndata = new ABNDATA();
|
ABNDATA abndata = new ABNDATA();
|
||||||
abndata.setType(ABNORMALTYPE.CAN);
|
abndata.setType(ABNORMALTYPE.CAN);
|
||||||
abndata.setBody(flop.getCNCL());
|
abndata.setCncl(flop.getCNCL());
|
||||||
|
|
||||||
fltr.getAbn().add(abndata);
|
fltr.getAbn().add(abndata);
|
||||||
|
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ public class DELYHandler extends FlopBaseHandler {
|
|||||||
//DELY 作为一个abn元素,元素类型为 数组
|
//DELY 作为一个abn元素,元素类型为 数组
|
||||||
ABNDATA abndata = new ABNDATA();
|
ABNDATA abndata = new ABNDATA();
|
||||||
abndata.setType(ABNORMALTYPE.DLY);
|
abndata.setType(ABNORMALTYPE.DLY);
|
||||||
abndata.setBody(flop.getDELY());
|
abndata.setDely(flop.getDELY());
|
||||||
fltr.getAbn().add(abndata);
|
fltr.getAbn().add(abndata);
|
||||||
|
|
||||||
return fltr;
|
return fltr;
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ public class FDIVHandler extends FlopBaseHandler {
|
|||||||
//
|
//
|
||||||
ABNDATA abndata = new ABNDATA();
|
ABNDATA abndata = new ABNDATA();
|
||||||
abndata.setType(ABNORMALTYPE.ALT);
|
abndata.setType(ABNORMALTYPE.ALT);
|
||||||
abndata.setBody(diversionData);
|
abndata.setFdiv(diversionData);
|
||||||
|
|
||||||
fltr.getAbn().add(abndata);
|
fltr.getAbn().add(abndata);
|
||||||
|
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ public class FRETHandler extends FlopBaseHandler {
|
|||||||
//
|
//
|
||||||
ABNDATA abndata = new ABNDATA();
|
ABNDATA abndata = new ABNDATA();
|
||||||
abndata.setType(ABNORMALTYPE.RTN);
|
abndata.setType(ABNORMALTYPE.RTN);
|
||||||
abndata.setBody(flop.getFRET());
|
abndata.setFret(flop.getFRET());
|
||||||
|
|
||||||
fltr.getAbn().add(abndata);
|
fltr.getAbn().add(abndata);
|
||||||
|
|
||||||
|
|||||||
+3
-8
@@ -125,8 +125,8 @@ public class FlightHisServiceImpl {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存航班历史到ELK
|
* 保存航班历史到ELK
|
||||||
* @param fltrs
|
* @param fltrs 航班动态列表
|
||||||
* @return 成功保存的航班动态
|
* @return 成功保存的航班动态列表
|
||||||
*/
|
*/
|
||||||
public List<FLTR> save(List<FLTR> fltrs)
|
public List<FLTR> save(List<FLTR> fltrs)
|
||||||
{
|
{
|
||||||
@@ -134,18 +134,13 @@ public class FlightHisServiceImpl {
|
|||||||
|
|
||||||
for(FLTR fltr : fltrs){
|
for(FLTR fltr : fltrs){
|
||||||
try {
|
try {
|
||||||
//先转换航班信息为可存储到es 中的fltr dto 对象
|
|
||||||
FltrEsDto fltrEsDto = fltrConvert.FltrToFltrEsDto(fltr);
|
|
||||||
|
|
||||||
|
|
||||||
JSONObject jsondata = JSONObject.parseObject(JsonUtil.getString(fltrEsDto));
|
|
||||||
//判断是否已经拥有该历史数据 因es类型原因请注意类型转换
|
|
||||||
String SODT = fltr.getSODT();
|
String SODT = fltr.getSODT();
|
||||||
Long FLID = fltr.getFLID().longValue();
|
Long FLID = fltr.getFLID().longValue();
|
||||||
BoolQueryBuilder boolQuery = QueryBuilders.boolQuery()
|
BoolQueryBuilder boolQuery = QueryBuilders.boolQuery()
|
||||||
.must(QueryBuilders.termQuery("SODT",SODT))
|
.must(QueryBuilders.termQuery("SODT",SODT))
|
||||||
.must(QueryBuilders.termQuery("FLID",FLID));
|
.must(QueryBuilders.termQuery("FLID",FLID));
|
||||||
List<Map<String, Object>> listInEs = ElasticsearchUtil.searchListData(INDEX_NAME, ES_TYPE, boolQuery, null, "FLID", null, null, null);
|
List<Map<String, Object>> listInEs = ElasticsearchUtil.searchListData(INDEX_NAME, ES_TYPE, boolQuery, null, "FLID", null, null, null);
|
||||||
|
JSONObject jsondata = JSONObject.parseObject(JsonUtil.getString(fltr));
|
||||||
|
|
||||||
if(!CollectionUtils.isEmpty(listInEs)){
|
if(!CollectionUtils.isEmpty(listInEs)){
|
||||||
//更新
|
//更新
|
||||||
|
|||||||
Reference in New Issue
Block a user