zouyu
9 天以前 56e6e0bf18c39a933aec78762b636fdf2efa8d68
cnas-device/src/main/java/com/ruoyi/device/mqtt/MQCallback.java
@@ -1,6 +1,5 @@
package com.ruoyi.device.mqtt;
import com.alibaba.fastjson.JSONObject;
import com.ruoyi.device.service.CollectBridgeService;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
@@ -14,11 +13,11 @@
@Component
@Slf4j
public class MQCallback<component> implements MqttCallback {
public class MQCallback implements MqttCallback {
    private MQClient mqClient; // MQTT连接数据
    private final MQClient mqClient; // MQTT连接数据
    private MQConfig mqConfig; // yml配置数据
    private final DeviceMqttConfig mqConfig; // yml配置数据
    private static MQCallback mqCallback;
@@ -32,7 +31,7 @@
      mqCallback.collectBridgeService = this.collectBridgeService;
    }
    public MQCallback(MQClient mqClient, MQConfig mqConfig) {
    public MQCallback(MQClient mqClient, DeviceMqttConfig mqConfig) {
        this.mqClient = mqClient;
        this.mqConfig = mqConfig;
    }
@@ -65,16 +64,45 @@
     * MQTT服务器向WEB服务器发送的数据会执行到这里面,官方话称为:订阅后的消息
     * @param topic 主题:也称为底层网关唯一标识
     * @param message 信息
     * @throws Exception 报错
     */
    @Override
    public void messageArrived(String topic, MqttMessage message) throws Exception {
    public void messageArrived(String topic, MqttMessage message) {
        try {
            String parse = new String(message.getPayload());
            JSONObject jsonObject = JSONObject.parseObject(parse);
            // 填充采集数据
            mqCallback.collectBridgeService.addBridgeValue(jsonObject);
            switch (topic){
                case "/aiot/a4b27900-c6b7-11f0-8b13-c14e8310d70b"://成品试验室-伸长率
                    mqCallback.collectBridgeService.elongationDataAnalysis(parse);
                    break;
                case "/aiot/4e40cdb0-c6b7-11f0-8b13-c14e8310d70b"://成品试验室-电阻
                    mqCallback.collectBridgeService.dcResistanceDataAnalysis(parse);
                    break;
                case "/aiot/5447dad0-c6b9-11f0-8b13-c14e8310d70b"://过程试验室-伸长率
                    mqCallback.collectBridgeService.elongationDataAnalysis(parse);
                    break;
                case "/aiot/51eaff10-c6b9-11f0-8b13-c14e8310d70b"://过程试验室-电阻
                    mqCallback.collectBridgeService.dcResistanceDataAnalysis(parse);
                    break;
//                case "/ztt/v3/2455220/publish":
//                    //耐丝:直流电阻数据解析NS-ER02001
//                    mqCallback.collectBridgeService.dcResistanceDataAnalysis(parse,"NS-ER02001");
//                    break;
////                case "/aiot/8fac9fa0-c517-11f0-954c-255ce11213f1":
////                    //耐丝:直流电阻数据解析NS-ER02002
////                    mqCallback.collectBridgeService.dcResistanceDataAnalysis(parse,"NS-ER02002");
////                    break;
//                case "/ztt/v3/2455221/publish":
//                    //耐丝:伸长率数据解析NS-FM05003
//                    mqCallback.collectBridgeService.elongationDataAnalysis(parse,"NS-FM05003");
////                    break;
////                case "/aiot/38568140-c697-11f0-8b13-c14e8310d70b":
////                    //耐丝:伸长率数据解析NS-FM05002
////                    mqCallback.collectBridgeService.elongationDataAnalysis(parse,"NS-FM05002");
//                    break;
            }
        } catch (Exception e) {
            e.printStackTrace();
            log.info("============》》接收消息主题异常 : " + e.getMessage());