diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/ABTMHandler.java b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/ABTMHandler.java new file mode 100644 index 00000000..b12a578d --- /dev/null +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/ABTMHandler.java @@ -0,0 +1,53 @@ +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.msg.BRIDGEDATA; +import com.gzzn.omms.msgexchangeapi.entity.msg.FLOP; +import com.gzzn.omms.msgexchangeapi.entity.msg.OPTBRIDGEDATA; +import com.gzzn.omms.msgexchangeapi.entity.msg.SCHD; +import com.gzzn.omms.msgexchangeapi.msghandler.flop.base.FlopBaseHandler; + +/** + * 靠桥,撤桥事件处理 + * @author zhouxiunai + * + */ +public class ABTMHandler extends FlopBaseHandler{ + private static Logger logger = LoggerFactory.getLogger(ABTMHandler.class); + + @Override + protected SCHD.FLTR updateFltr(FLOP flop,SCHD.FLTR fltr) + { + //靠桥,撤桥,取消靠桥,取消撤桥 + if(flop.getABTM().size() != 1) + { + logger.error("ABTM 的xml消息不符合只有一条的接口约定"); + return fltr; + } + + // + OPTBRIDGEDATA optbridgedata = flop.getABTM().get(0); + + //更新对应的撤桥或者登桥数据,没有则新增 + Boolean updated = false; + for( BRIDGEDATA bridgedata: fltr.getABTM()) + { + if(bridgedata.getABOP().equals(optbridgedata.getABOP())) + { + BeanUtils.copyProperties(optbridgedata, bridgedata); + updated = true; + } + } + if(updated == false) + { + BRIDGEDATA data = new BRIDGEDATA(); + BeanUtils.copyProperties(optbridgedata, data); + fltr.getABTM().add(data); + } + + return fltr; + } +}