添加航班删除事件的处理

This commit is contained in:
zhouxiunai
2018-12-11 09:54:01 +08:00
parent 894288ec0a
commit 5a2bf4015a
4 changed files with 77 additions and 1 deletions
@@ -0,0 +1,45 @@
package com.gzzn.omms.msgexchangeapi.msghandler.flop;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.gzzn.omms.msgexchangeapi.entity.Cminmsg;
import com.gzzn.omms.msgexchangeapi.entity.msg.FLOP;
import com.gzzn.omms.msgexchangeapi.entity.msg.MSG;
import com.gzzn.omms.msgexchangeapi.entity.msg.SCHD;
import com.gzzn.omms.msgexchangeapi.msghandler.HandlerResult;
/**
* 处理航班删除事件
* @author zhouxiunai
*
*/
public class FDELHandler extends FlopBaseHandler {
private static Logger logger = LoggerFactory.getLogger(FDELHandler.class);
@Override
public HandlerResult run(Cminmsg cminmsg) {
MSG cldtMsg = exchangeService.xmlstrToObject(cminmsg.getCminmsgsClobMsg(), MSG.class);
FLOP flop = cldtMsg.getFLOP().get(0);
SCHD.FLTR fltr = flightInfoService.getByFlid(flop.getFLID().toString());
if(null != fltr)
{
//
flightInfoService.deleteFltr(fltr);
//send and update
this.sendMsg(cminmsg); //只发送删除消息,前端自行物理删除动态航班信息
this.updateCminmsgToProcessed(cminmsg);
return HandlerResult.success(fltr);
}
else {
//没有该动态航班信息
logger.warn("没有flid为:{}的消息",flop.getFLID());
return HandlerResult.failure();
}
}
}
@@ -25,7 +25,7 @@ import com.gzzn.omms.msgexchangeapi.utils.SpringUtil;
*
*/
public class FlopBaseHandler implements IBaseHandler {
private static Logger logger = LoggerFactory.getLogger(CLDTHandler.class);
private static Logger logger = LoggerFactory.getLogger(FlopBaseHandler.class);
protected IExchangeService exchangeService;
protected IFlightInfoService flightInfoService;
@@ -100,6 +100,20 @@ public class FlopBaseHandler implements IBaseHandler {
);
kafkaservice.msgSend("msg", msg);
}
/**
* 仅发送动态消息
* @param cminmsg
*/
protected void sendMsg(Cminmsg cminmsg)
{
//send msg
String msg = exchangeService.xmlstrToJson(
cminmsg.getCminmsgsClobMsg()
);
kafkaservice.msgSend("msg", msg);
}
/**
* 更新Cminmsg状态为已处理
@@ -1,6 +1,7 @@
package com.gzzn.omms.msgexchangeapi.service.flightInfo;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Set;
@@ -10,6 +11,7 @@ import org.springframework.stereotype.Service;
import com.gzzn.omms.msgexchangeapi.entity.Cminmsg;
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;
import com.gzzn.omms.msgexchangeapi.msghandler.MsgHandlerDispatcher;
import com.gzzn.omms.msgexchangeapi.redis.RedisService;
import com.gzzn.omms.msgexchangeapi.service.exchange.IExchangeService;
@@ -107,4 +109,11 @@ public class FlightInfoServiceImpl implements IFlightInfoService {
return lsResult;
}//end method
@Override
public boolean deleteFltr(FLTR fltr) {
redisService.del(Arrays.asList(redisKey + fltr.getFLID()));
return true;
}
}
@@ -30,4 +30,12 @@ public interface IFlightInfoService {
* 保存航班动态信息,新增或更新
*/
public boolean saveFltr(SCHD.FLTR fltr);
/**
* 物理删除动态航班信息
* @param fltr
* @return
*/
public boolean deleteFltr(SCHD.FLTR fltr);
}