#
vincentlu
2026-03-25 0fbf517939444c5de2adbe2fad68855d9403b2fb
#
8个文件已修改
53 ■■■■■ 已修改文件
zy-acs-hk/zy-acs-hk-latent/src/main/java/com/zy/acs/hk/latent/mqtt/HkMessageDispatcher.java 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-hk/zy-acs-hk-latent/src/main/java/com/zy/acs/hk/latent/mqtt/HkMessageHandler.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-hk/zy-acs-hk-latent/src/main/java/com/zy/acs/hk/latent/mqtt/HkTopicBuilder.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-hk/zy-acs-hk-latent/src/main/java/com/zy/acs/hk/latent/mqtt/HkTopicInfo.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-hk/zy-acs-hk-latent/src/main/java/com/zy/acs/hk/latent/mqtt/handler/ConnectionMessageHandler.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-hk/zy-acs-hk-latent/src/main/java/com/zy/acs/hk/latent/mqtt/handler/FactsheetMessageHandler.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-hk/zy-acs-hk-latent/src/main/java/com/zy/acs/hk/latent/mqtt/handler/StateMessageHandler.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-hk/zy-acs-hk-latent/src/main/java/com/zy/acs/hk/latent/mqtt/handler/VisualizationMessageHandler.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-hk/zy-acs-hk-latent/src/main/java/com/zy/acs/hk/latent/mqtt/HkMessageDispatcher.java
@@ -19,6 +19,8 @@
    @Autowired
    private List<HkMessageHandler> hkMessageHandlers;
    @Autowired
    private HkTopicBuilder hkTopicBuilder;
    @PostConstruct
    public void init() {
@@ -28,7 +30,7 @@
    }
    public void dispatch(String topic, String payload) {
        HkTopicInfo topicInfo = this.parseTopic(topic);
        HkTopicInfo topicInfo = hkTopicBuilder.parseTopic(topic);
        if (topicInfo == null) {
            log.warn("ignore mqtt topic, unsupported topic format, topic={}", topic);
            return;
@@ -46,27 +48,6 @@
        }
        hkMessageHandler.handle(topicInfo, payload);
    }
    public HkTopicInfo parseTopic(String topic) {
        if (!StringUtils.hasText(topic)) {
            return null;
        }
        String[] parts = topic.split("/");
        if (parts.length != 5) {
            return null;
        }
        HkTopicInfo topicInfo = new HkTopicInfo();
        topicInfo.setRawTopic(topic);
        topicInfo.setInterfaceName(parts[0]);
        topicInfo.setMajorVersion(parts[1]);
        topicInfo.setManufacturer(parts[2]);
        topicInfo.setAgvNo(parts[3]);
        topicInfo.setSubTopic(parts[4]);
        return topicInfo;
    }
}
zy-acs-hk/zy-acs-hk-latent/src/main/java/com/zy/acs/hk/latent/mqtt/HkMessageHandler.java
@@ -5,4 +5,5 @@
    String supportSubTopic();
    void handle(HkTopicInfo topicInfo, String payload);
}
zy-acs-hk/zy-acs-hk-latent/src/main/java/com/zy/acs/hk/latent/mqtt/HkTopicBuilder.java
@@ -4,6 +4,7 @@
import com.zy.acs.hk.latent.mqtt.type.HkSubTopicType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.List;
@@ -29,4 +30,25 @@
                + "/" + agvNo
                + "/" + subTopic;
    }
    public HkTopicInfo parseTopic(String topic) {
        if (!StringUtils.hasText(topic)) {
            return null;
        }
        String[] parts = topic.split("/");
        if (parts.length != 5) {
            return null;
        }
        HkTopicInfo topicInfo = new HkTopicInfo();
        topicInfo.setRawTopic(topic);
        topicInfo.setInterfaceName(parts[0]);
        topicInfo.setMajorVersion(parts[1]);
        topicInfo.setManufacturer(parts[2]);
        topicInfo.setAgvNo(parts[3]);
        topicInfo.setSubTopic(parts[4]);
        return topicInfo;
    }
}
zy-acs-hk/zy-acs-hk-latent/src/main/java/com/zy/acs/hk/latent/mqtt/HkTopicInfo.java
@@ -16,4 +16,5 @@
    private String agvNo;
    private String subTopic;
}
zy-acs-hk/zy-acs-hk-latent/src/main/java/com/zy/acs/hk/latent/mqtt/handler/ConnectionMessageHandler.java
@@ -20,4 +20,5 @@
        log.info("handle connection message, agvNo={}, topic={}, payload={}",
                topicInfo.getAgvNo(), topicInfo.getRawTopic(), payload);
    }
}
zy-acs-hk/zy-acs-hk-latent/src/main/java/com/zy/acs/hk/latent/mqtt/handler/FactsheetMessageHandler.java
@@ -20,4 +20,5 @@
        log.info("handle factsheet message, agvNo={}, topic={}, payload={}",
                topicInfo.getAgvNo(), topicInfo.getRawTopic(), payload);
    }
}
zy-acs-hk/zy-acs-hk-latent/src/main/java/com/zy/acs/hk/latent/mqtt/handler/StateMessageHandler.java
@@ -20,4 +20,5 @@
        log.info("handle state message, agvNo={}, topic={}, payload={}",
                topicInfo.getAgvNo(), topicInfo.getRawTopic(), payload);
    }
}
zy-acs-hk/zy-acs-hk-latent/src/main/java/com/zy/acs/hk/latent/mqtt/handler/VisualizationMessageHandler.java
@@ -20,4 +20,5 @@
        log.info("handle visualization message, agvNo={}, topic={}, payload={}",
                topicInfo.getAgvNo(), topicInfo.getRawTopic(), payload);
    }
}