diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/CKDTHandler.java b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/CKDTHandler.java index 59282247..db64a3c1 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/CKDTHandler.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/CKDTHandler.java @@ -2,6 +2,7 @@ package com.gzzn.omms.msgexchangeapi.msghandler.flop; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.BeanUtils; import com.gzzn.omms.msgexchangeapi.entity.Cminmsg; import com.gzzn.omms.msgexchangeapi.entity.msg.DESKDATA; @@ -29,14 +30,7 @@ public class CKDTHandler extends FlopBaseHandler { for(OPTDESKDATA optdeskdata : ckdtMsg.getFLOP().get(0).getCKDT() ) { DESKDATA deskdata = new DESKDATA(); - deskdata.setCCLS(optdeskdata.getCCLS()); - deskdata.setCCTM(optdeskdata.getCCTM()); - deskdata.setCHKC(optdeskdata.getCHKC()); - deskdata.setCKNO(optdeskdata.getCKNO()); - deskdata.setCOTM(optdeskdata.getCOTM()); - deskdata.setCTYP(optdeskdata.getCTYP()); - deskdata.setPCCT(optdeskdata.getPCCT()); - deskdata.setPCOT(optdeskdata.getPCOT()); + BeanUtils.copyProperties(optdeskdata, deskdata); fltr.getCKDT().add(deskdata); } //添加新数据 diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/CLDTHandler.java b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/CLDTHandler.java new file mode 100644 index 00000000..5b36b505 --- /dev/null +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/CLDTHandler.java @@ -0,0 +1,54 @@ +package com.gzzn.omms.msgexchangeapi.msghandler.flop; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.BeanUtils; + +import com.gzzn.omms.msgexchangeapi.entity.Cminmsg; +import com.gzzn.omms.msgexchangeapi.entity.msg.BELTDATA; +import com.gzzn.omms.msgexchangeapi.entity.msg.MSG; +import com.gzzn.omms.msgexchangeapi.entity.msg.OPTBELTDATA; +import com.gzzn.omms.msgexchangeapi.entity.msg.SCHD; +import com.gzzn.omms.msgexchangeapi.msghandler.HandlerResult; + +/** + * 行李转盘事件 carousel + * @author zhouxiunai + * + */ +public class CLDTHandler extends FlopBaseHandler { + private static Logger logger = LoggerFactory.getLogger(CLDTHandler.class); + + @Override + public HandlerResult run(Cminmsg cminmsg) { + MSG cldtMsg = exchangeService.xmlstrToObject(cminmsg.getCminmsgsClobMsg(), MSG.class); + SCHD.FLTR fltr = flightInfoService.getByFlid(cldtMsg.getFLOP().get(0).getFLID().toString()); + if(null != fltr) + { + //save + fltr.getCLDT().clear(); //清空旧数据 + for(OPTBELTDATA optbeltdata : cldtMsg.getFLOP().get(0).getCLDT() ) + { + BELTDATA beltdata = new BELTDATA(); + BeanUtils.copyProperties(optbeltdata, beltdata); + + fltr.getCLDT().add(beltdata); + } //添加新数据 + + + flightInfoService.saveFltr(fltr); + + //send and update + this.sendFltrAndMsg(fltr, cminmsg); + this.updateCminmsgToProcessed(cminmsg); + + return HandlerResult.success(fltr); + } + else { + //没有该动态航班信息 + logger.warn("没有flid为:{}的消息",cldtMsg.getFLOP().get(0).getFLID()); + } + + return HandlerResult.failure(); + } +}