diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/FDELHandler.java b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/FDELHandler.java index 5097266c..68272e84 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/FDELHandler.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/FDELHandler.java @@ -20,8 +20,15 @@ public class FDELHandler extends FlopBaseHandler { @Override public HandlerResult run(Cminmsg cminmsg) { - MSG cldtMsg = exchangeService.xmlstrToObject(cminmsg.getCminmsgsClobMsg(), MSG.class); - FLOP flop = cldtMsg.getFLOP().get(0); + MSG msg = exchangeService.xmlstrToObject(cminmsg.getCminmsgsClobMsg(), MSG.class); + //每条消息业务上只会包含一条动态消息记录。 + if(msg.getFLOP().size() != 1) + { + logger.error("预期每条消息只会包含一条动态消息记录,当前{}条",msg.getFLOP().size()); + return HandlerResult.failure(); + } + + FLOP flop = msg.getFLOP().get(0); SCHD.FLTR fltr = flightInfoService.getByFlid(flop.getFLID().toString()); diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/base/FlopBaseHandler.java b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/base/FlopBaseHandler.java index 815b722a..2c627b79 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/base/FlopBaseHandler.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/base/FlopBaseHandler.java @@ -45,8 +45,15 @@ public class FlopBaseHandler implements IBaseHandler { @Override public HandlerResult run(Cminmsg cminmsg) { - MSG cldtMsg = exchangeService.xmlstrToObject(cminmsg.getCminmsgsClobMsg(), MSG.class); - FLOP flop = cldtMsg.getFLOP().get(0); + MSG msg = exchangeService.xmlstrToObject(cminmsg.getCminmsgsClobMsg(), MSG.class); + //每条消息业务上只会包含一条动态消息记录。 + if(msg.getFLOP().size() != 1) + { + logger.error("预期每条消息只会包含一条动态消息记录,当前{}条",msg.getFLOP().size()); + return HandlerResult.failure(); + } + + FLOP flop = msg.getFLOP().get(0); SCHD.FLTR fltr = flightInfoService.getByFlid(flop.getFLID().toString());