完成整体航班动态消息处理框架

This commit is contained in:
zhouxiunai
2018-12-04 14:53:50 +08:00
parent 747232bc89
commit 6c19f9ce4b
12 changed files with 286 additions and 18 deletions
@@ -0,0 +1,44 @@
package com.gzzn.omms.msgexchangeapi.msghandler.flop;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import com.gzzn.omms.msgexchangeapi.entity.msg.flop.acft.ACFTMsg;
import com.gzzn.omms.msgexchangeapi.entity.msg.schd.dnld.FLTR;
import com.gzzn.omms.msgexchangeapi.msghandler.HandlerResult;
import com.gzzn.omms.msgexchangeapi.msghandler.IBaseHandler;
import com.gzzn.omms.msgexchangeapi.service.IExchangeService;
import com.gzzn.omms.msgexchangeapi.service.flightInfo.IFlightInfoService;
public class ACFTHandler implements IBaseHandler {
private static Logger logger = LoggerFactory.getLogger(ACFTHandler.class);
@Autowired
IExchangeService exchangeService;
@Autowired
IFlightInfoService flightInfoService;
/**
* 处理航班消息,更新航班动态信息
*/
@Override
public HandlerResult run(String msg) {
ACFTMsg acftMsg = exchangeService.xmlstrToObject(msg, ACFTMsg.class);
FLTR fltr = flightInfoService.getByFlid(acftMsg.getFLOP().getFLID());
if(null != fltr)
{
fltr.setAcft(acftMsg.getFLOP().getACFT());
flightInfoService.saveFltr(fltr);
return HandlerResult.success(fltr);
}
else {
//没有该动态航班信息
logger.warn("没有flid为:{}的消息",acftMsg.getFLOP().getFLID());
}
return HandlerResult.failure();
}//end function
}