1
zhang
23 小时以前 675c3b5d83b928c2bfbb84cd99a7d3f222d4432c
zy-acs-gateway/src/main/java/com/zy/acs/gateway/listen/MessageListener.java
@@ -3,13 +3,18 @@
import com.alibaba.fastjson.JSON;
import com.zy.acs.common.constant.RedisConstant;
import com.zy.acs.common.domain.AgvProtocol;
import com.zy.acs.common.domain.mq.DeviceMessage;
import com.zy.acs.common.utils.RedisSupport;
import com.zy.acs.framework.common.Cools;
import com.zy.acs.gateway.config.SystemProperties;
import com.zy.acs.gateway.constant.ProtocolType;
import com.zy.acs.gateway.constant.RabbitmqConstant;
import com.zy.acs.gateway.domain.AgvPackage;
import com.zy.acs.gateway.job.DispatcherPublisher;
import com.zy.acs.gateway.utils.ProtocolUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -33,6 +38,10 @@
    @Autowired
    private SystemProperties systemProperties;
    @Autowired
    private RabbitTemplate rabbitTemplate;
    @PostConstruct
    private void start(){
        thread = new Thread(() -> {
@@ -43,7 +52,12 @@
                        log.info("监听器 >>> {}", JSON.toJSONString(protocol));
                    }
                    if (!Cools.isEmpty(protocol.getAgvNo())) {
                        publisher.publish(ProtocolUtils.installDownProtocol(protocol));
                        AgvPackage agvPackage = ProtocolUtils.installDownProtocol(protocol);
                        publisher.publish(agvPackage);
                        // 写入队列
                        log.info("<UNK> >>> {}", JSON.toJSONString(agvPackage));
                        rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_DOWN.replaceFirst(RabbitmqConstant.SPILT_REGEX, protocol.getAgvNo()).replaceFirst(RabbitmqConstant.SPILT_REGEX, agvPackage.getHeader().getProtocolType().name()),new DeviceMessage(agvPackage.getSourceHexStr()));
                    }
                }
                // 间隔