添加主航班的共享航班信息
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
package com.gzzn.omms.msgexchangeapi.entity.msg;
|
||||
|
||||
import java.math.BigInteger;
|
||||
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
public class MAFLDATA {
|
||||
|
||||
@ApiModelProperty(value="航班id")
|
||||
@XmlElement(name = "FLID", required = true)
|
||||
@JsonProperty("FLID")
|
||||
protected BigInteger flid;//航班id
|
||||
|
||||
@ApiModelProperty(value="航班号 ")
|
||||
@XmlElement(name = "FLNO", required = true)
|
||||
@JsonProperty("FLNO")
|
||||
protected String flno;//flight number 航班号
|
||||
|
||||
public BigInteger getFlid() {
|
||||
return flid;
|
||||
}
|
||||
|
||||
public void setFlid(BigInteger flid) {
|
||||
this.flid = flid;
|
||||
}
|
||||
|
||||
public String getFlno() {
|
||||
return flno;
|
||||
}
|
||||
|
||||
public void setFlno(String flno) {
|
||||
this.flno = flno;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -360,7 +360,7 @@ public class SCHD
|
||||
@JsonProperty("FLTY")
|
||||
protected String flty;//航班类型如客机、货机、军用、VIP等
|
||||
|
||||
@ApiModelProperty(value="Flight indicator 航班标识 ")
|
||||
@ApiModelProperty(value="Flight indicator 航班标识,D 国内 I 国际 M 混合 ")
|
||||
@XmlElement(name = "FLIN", required = true)
|
||||
@JsonProperty("FLIN")
|
||||
@XmlSchemaType(name = "string")
|
||||
@@ -633,6 +633,11 @@ public class SCHD
|
||||
@JsonProperty("ABN")
|
||||
protected List<ABNDATA> abn;//abnormal 异常状态信息列表,DLY,RTN,CAN,ALT
|
||||
|
||||
@ApiModelProperty(value="共享航班数据信息")
|
||||
@XmlElement(name = "MAFL")
|
||||
@JsonProperty("MAFL")
|
||||
protected List<MAFLDATA> mafl;//共享航班数据信息
|
||||
|
||||
/**
|
||||
* 获取flid属性的值。
|
||||
*
|
||||
@@ -2135,6 +2140,17 @@ public class SCHD
|
||||
public void setAbn(List<ABNDATA> abn) {
|
||||
this.abn = abn;
|
||||
}
|
||||
|
||||
public List<MAFLDATA> getMafl() {
|
||||
if (null == mafl) {
|
||||
mafl = new ArrayList<MAFLDATA>();
|
||||
}
|
||||
return mafl;
|
||||
}
|
||||
|
||||
public void setMafl(List<MAFLDATA> mafl) {
|
||||
this.mafl = mafl;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -31,6 +31,10 @@ public class FDELHandler extends FlopBaseHandler {
|
||||
//
|
||||
flightInfoService.deleteFltr(fltr);
|
||||
|
||||
|
||||
//TODO: 如果是共享航班,更新对应的主航班共享航班列表。从主航班中删除
|
||||
|
||||
|
||||
//send and update
|
||||
this.sendMsg(cminmsg); //只发送删除消息,前端自行物理删除动态航班信息
|
||||
this.updateCminmsgToProcessed(cminmsg);
|
||||
|
||||
+33
-1
@@ -7,10 +7,13 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.gzzn.omms.msgexchangeapi.entity.CminmsgWapper;
|
||||
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.entity.msg.SCHD.FLTR;
|
||||
@@ -18,9 +21,11 @@ import com.gzzn.omms.msgexchangeapi.msghandler.MsgHandlerDispatcher;
|
||||
import com.gzzn.omms.msgexchangeapi.redis.RedisService;
|
||||
import com.gzzn.omms.msgexchangeapi.service.exchange.IExchangeService;
|
||||
|
||||
|
||||
@Service("flightInfoService")
|
||||
public class FlightInfoServiceImpl implements IFlightInfoService {
|
||||
private static final String redisKey="flightInfo";
|
||||
Logger logger = LoggerFactory.getLogger(FlightInfoServiceImpl.class);
|
||||
|
||||
@Autowired
|
||||
RedisService redisService;
|
||||
@@ -40,11 +45,38 @@ public class FlightInfoServiceImpl implements IFlightInfoService {
|
||||
.getSCHD()
|
||||
.getFLTR();
|
||||
|
||||
Map<String, Object> mapFltr = new HashMap();
|
||||
|
||||
//建立Map索引,便于查找
|
||||
Map<String, Object> mapFltr = new HashMap();
|
||||
for(FLTR fltr : lsFltr)
|
||||
{
|
||||
mapFltr.put(fltr.getFLID().toString(), fltr);
|
||||
}
|
||||
//设置主航班的共享航班信息
|
||||
for(FLTR fltr : lsFltr)
|
||||
{
|
||||
if(fltr.getMAID() == null)
|
||||
{
|
||||
continue; //不是共享航班
|
||||
}
|
||||
|
||||
String maid = fltr.getMAID().toString();
|
||||
FLTR fltrMa = (FLTR) mapFltr.get(maid);
|
||||
if(null == fltrMa)
|
||||
{
|
||||
logger.error("共享航班:{},未找到航班id为:{}的主航班信息{}",fltr.getFLID(),maid);
|
||||
continue;
|
||||
}
|
||||
|
||||
MAFLDATA mafldata = new MAFLDATA();
|
||||
mafldata.setFlid(fltr.getFLID());
|
||||
mafldata.setFlno(fltr.getFLNO());
|
||||
|
||||
fltrMa.getMafl().add(mafldata);
|
||||
}
|
||||
|
||||
|
||||
//保存到redis
|
||||
return redisService.hmset(redisKey, mapFltr);
|
||||
} //end function
|
||||
|
||||
|
||||
@@ -10,7 +10,6 @@ import com.gzzn.omms.msgexchangeapi.dao.CminmsgDao;
|
||||
import com.gzzn.omms.msgexchangeapi.entity.Cminmsg;
|
||||
import com.gzzn.omms.msgexchangeapi.entity.CminmsgWapper;
|
||||
import com.gzzn.omms.msgexchangeapi.msghandler.HandlerResult;
|
||||
import com.gzzn.omms.msgexchangeapi.msghandler.flop.LACLHandler;
|
||||
import com.gzzn.omms.msgexchangeapi.service.exchange.IExchangeService;
|
||||
import com.gzzn.omms.msgexchangeapi.utils.JsonUtil;
|
||||
|
||||
@@ -27,7 +26,7 @@ public class DNLDHandlerTest {
|
||||
@Test
|
||||
public void testRun()
|
||||
{
|
||||
Cminmsg cminmsg = cminmsgDao.findOne(82463L);
|
||||
Cminmsg cminmsg = cminmsgDao.findOne(233338L);
|
||||
CminmsgWapper cminmsgWapper = new CminmsgWapper(cminmsg);
|
||||
cminmsgWapper.setMsg(exchangeService.xmlToMsg(cminmsg.getCminmsgsClobMsg()));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user