添加航班删除事件的处理
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 {
|
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 IExchangeService exchangeService;
|
||||||
protected IFlightInfoService flightInfoService;
|
protected IFlightInfoService flightInfoService;
|
||||||
@@ -100,6 +100,20 @@ public class FlopBaseHandler implements IBaseHandler {
|
|||||||
);
|
);
|
||||||
kafkaservice.msgSend("msg", msg);
|
kafkaservice.msgSend("msg", msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 仅发送动态消息
|
||||||
|
* @param cminmsg
|
||||||
|
*/
|
||||||
|
protected void sendMsg(Cminmsg cminmsg)
|
||||||
|
{
|
||||||
|
//send msg
|
||||||
|
String msg = exchangeService.xmlstrToJson(
|
||||||
|
cminmsg.getCminmsgsClobMsg()
|
||||||
|
);
|
||||||
|
kafkaservice.msgSend("msg", msg);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新Cminmsg状态为已处理
|
* 更新Cminmsg状态为已处理
|
||||||
|
|||||||
+9
@@ -1,6 +1,7 @@
|
|||||||
package com.gzzn.omms.msgexchangeapi.service.flightInfo;
|
package com.gzzn.omms.msgexchangeapi.service.flightInfo;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
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.Cminmsg;
|
||||||
import com.gzzn.omms.msgexchangeapi.entity.msg.MSG;
|
import com.gzzn.omms.msgexchangeapi.entity.msg.MSG;
|
||||||
import com.gzzn.omms.msgexchangeapi.entity.msg.SCHD;
|
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.msghandler.MsgHandlerDispatcher;
|
||||||
import com.gzzn.omms.msgexchangeapi.redis.RedisService;
|
import com.gzzn.omms.msgexchangeapi.redis.RedisService;
|
||||||
import com.gzzn.omms.msgexchangeapi.service.exchange.IExchangeService;
|
import com.gzzn.omms.msgexchangeapi.service.exchange.IExchangeService;
|
||||||
@@ -107,4 +109,11 @@ public class FlightInfoServiceImpl implements IFlightInfoService {
|
|||||||
|
|
||||||
return lsResult;
|
return lsResult;
|
||||||
}//end method
|
}//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);
|
public boolean saveFltr(SCHD.FLTR fltr);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物理删除动态航班信息
|
||||||
|
* @param fltr
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public boolean deleteFltr(SCHD.FLTR fltr);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user