liwei19941102 2 лет назад
Родитель
Сommit
648469045c

+ 25 - 12
ruoyi-system/src/main/java/com/ruoyi/data/service/impl/MqttServiceImpl.java

@@ -1,6 +1,7 @@
 package com.ruoyi.data.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -69,26 +70,38 @@ public class MqttServiceImpl implements MqttService {
         Long deviceId = tblSensor.getDeviceId();
         SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         Date date = new Date(System.currentTimeMillis());
-        jsonObject.put("created_time",formatter.format(date));
+        JSONObject mqttMsg = new JSONObject();
+        mqttMsg.put("deviceSn",deviceId);
+        mqttMsg.put("sensorSn",sensorId);
+        mqttMsg.put("sensorType",tblSensor.getSensorType());
+        mqttMsg.put("created_time",formatter.format(date));
+        JSONArray sensorData = new JSONArray();
+        JSONArray dataArry = new JSONArray(jsonObject.get("data"));
+        for(Object obj: dataArry){
+             JSONObject dataObj = new JSONObject(obj);
+             dataObj.remove("gcdinfo");
+             sensorData.add(dataObj);
+        }
+        mqttMsg.put("sensorData",sensorData);
         MqttObj mqttObj = new MqttObj();
         mqttObj.setEquipmentId(deviceId);
         List<MqttObj> mqttObjList = tblEquipmentMqttMapper.selectMqttListByDeviceId(mqttObj);
         TblRecord tblRecord = new TblRecord();
         tblRecord.setEquipmentId(deviceId);
-        tblRecord.setSensorId(sensorId);
         tblRecord.setJson(mqttStr);
         tblRecord.setCreateBy("admin");
         tblRecord.setUpdateBy("admin");
         tblRecord.setSensorId(sensorId);
         tblRecordMapper.insert(tblRecord);
-        TblSensorRecordBo tblSensorRecord = new TblSensorRecordBo();
-        tblSensorRecord.setEquipmentId(deviceId);
-        tblSensorRecord.setJson(mqttStr);
-        tblSensorRecord.setCreateBy("admin");
-        tblSensorRecord.setUpdateBy("admin");
-        tblSensorRecord.setSensorId(sensorId);
-        updateNowRecord(tblSensorRecord);
+//        TblSensorRecordBo tblSensorRecord = new TblSensorRecordBo();
+//        tblSensorRecord.setEquipmentId(deviceId);
+//        tblSensorRecord.setJson(mqttStr);
+//        tblSensorRecord.setCreateBy("admin");
+//        tblSensorRecord.setUpdateBy("admin");
+//        tblSensorRecord.setSensorId(sensorId);
+//        updateNowRecord(tblSensorRecord);
 //      tblSensorRecordMapper.insert(tblSensorRecord);
+        String protocolType = "";
         for(MqttObj obj:mqttObjList){
                if(obj.getStatus() == 1) {
                    JSONObject topicObj = obj.getTopicQos("tcp");
@@ -97,10 +110,10 @@ public class MqttServiceImpl implements MqttService {
                        mqttConnect.createMqttClient(obj.getServerAddress(), obj.getUuid(), obj.getAccount(), obj.getPassword(), new Callback());
                        if (topicObj != null) {
                            String topic = topicObj.get("name").toString().replace("#", "");
-                           mqttConnect.pub(topic, jsonObject.toString(), Integer.valueOf((String) topicObj.get("qos")));
+                           mqttConnect.pub(topic, mqttMsg.toString(), Integer.valueOf((String) topicObj.get("qos")));
                        } else {
                            String topic = "sensor/modbustcp/" + deviceId;
-                           mqttConnect.pub(topic, jsonObject.toString(), 0);
+                           mqttConnect.pub(topic, mqttMsg.toString(), 0);
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
@@ -124,7 +137,7 @@ public class MqttServiceImpl implements MqttService {
 
     public void updateNowRecord(TblSensorRecordBo bo){
            TblSensorRecordBo tblSensorRecordBo = new TblSensorRecordBo();
-        tblSensorRecordBo.setSensorId(bo.getSensorId());
+           tblSensorRecordBo.setSensorId(bo.getSensorId());
            LambdaQueryWrapper<TblSensorRecord> lqw = buildSensorRecordWrapper(bo);
            List<TblSensorRecordVo> tblSensorRecordVoList = tblSensorRecordMapper.selectVoList(lqw);
             if(tblSensorRecordVoList.size() > 0 ){

+ 1 - 0
ruoyi-system/src/main/java/com/ruoyi/data/service/impl/TblEquipmentSbookServiceImpl.java

@@ -15,6 +15,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.ruoyi.data.domain.TblEquipmentOrganizational;
 import com.ruoyi.data.mapper.TblEquipmentMapper;
 import com.ruoyi.data.mapper.TblEquipmentOrganizationalMapper;
+import com.ruoyi.system.mapper.SysDictDataMapper;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 import com.ruoyi.data.domain.bo.TblEquipmentSbookBo;