添加航班删除事件的处理
This commit is contained in:
@@ -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状态为已处理
|
||||
|
||||
+9
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user