瀏覽代碼

实时数据提供

liwei19941102 2 年之前
父節點
當前提交
e0402f3e3f

+ 10 - 11
ruoyi-system/src/main/java/com/ruoyi/data/controller/TblSensorController.java

@@ -7,6 +7,7 @@ import java.util.concurrent.TimeUnit;
 
 import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONObject;
+import com.ruoyi.common.utils.redis.CacheUtils;
 import com.ruoyi.data.domain.PointData;
 import com.ruoyi.data.domain.SensorPoint;
 import com.ruoyi.data.domain.SensorRecord;
@@ -188,21 +189,19 @@ public class TblSensorController extends BaseController {
     @GetMapping("/sensorRecord")
     public TableDataInfo<SensorRecord> getRecord(TblSensorBo bo, PageQuery pageQuery) {
         TableDataInfo<SensorRecord> obj= new TableDataInfo<SensorRecord>();
-        List<TblSensorVo> tblSensorVoList = iTblSensorService.queryPageList(bo,pageQuery).getRows();
-        TblSensorRecordBo tblSensorRecordBo = new TblSensorRecordBo();
-        List<TblSensorRecordVo> tblSensorRecordVoList = sensorRecordService.queryList(tblSensorRecordBo);
-        List<SensorRecord> sensorRecordList = new ArrayList<SensorRecord>();
+        TableDataInfo<TblSensorVo> sensorVoTableDataInfo = iTblSensorService.queryPageList(bo,pageQuery);
+        List<TblSensorVo> tblSensorVoList = sensorVoTableDataInfo.getRows();
+        List<SensorRecord> SensorRecordList = new ArrayList<SensorRecord>();
         for(TblSensorVo tblSensorVo:tblSensorVoList){
             SensorRecord sensorRecord = new SensorRecord();
             sensorRecord.setTblSensor(tblSensorVo);
-            for(TblSensorRecordVo tblSensorRecordVo:tblSensorRecordVoList){
-                  if(tblSensorVo.getId().longValue() == tblSensorRecordVo.getSensorId().longValue()){
-                      sensorRecord.setTblSensorRecordVo(tblSensorRecordVo);
-                  }
-            }
-            sensorRecordList.add(sensorRecord);
+            String jsonData = CacheUtils.get("sensorData",tblSensorVo.getId());
+            sensorRecord.setRecordData(jsonData);
+            SensorRecordList.add(sensorRecord);
         }
-        obj.setRows(sensorRecordList);
+        obj.setRows(SensorRecordList);
+        obj.setPage(sensorVoTableDataInfo.getPage());
+        obj.setTotal(sensorVoTableDataInfo.getTotal());
         return obj;
     }
 

+ 1 - 1
ruoyi-system/src/main/java/com/ruoyi/data/domain/SensorRecord.java

@@ -10,7 +10,7 @@ public class SensorRecord {
 
     private TblSensorVo tblSensor;
 
-    private TblSensorRecordVo tblSensorRecordVo;
+    private String recordData;
 
     private TblRecordVo tblRecord;
 }

+ 21 - 19
ruoyi-system/src/main/java/com/ruoyi/data/service/impl/MqttServiceImpl.java

@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.ruoyi.common.core.domain.entity.SysDictData;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.mqtt.MQTTConnect;
+import com.ruoyi.common.utils.redis.CacheUtils;
 import com.ruoyi.data.domain.*;
 import com.ruoyi.data.domain.bo.TblMqttBo;
 import com.ruoyi.data.domain.bo.TblSensorRecordBo;
@@ -110,7 +111,8 @@ public class MqttServiceImpl implements MqttService {
 //        tblSensorRecord.setCreateBy("admin");
 //        tblSensorRecord.setUpdateBy("admin");
 //        updateNowRecord(tblSensorRecord);
-        websocketService.sendMessageAll(mqttStr);
+        CacheUtils.put("sensorData",sensorId,mqttMsg.toString());
+        //websocketService.sendMessageAll(mqttStr);
 //      tblSensorRecordMapper.insert(tblSensorRecord);
         String protocolType = "";
         List<SysDictData> sysDictTypeList = sysDictTypeService.selectDictDataByType("protocal_type");
@@ -119,24 +121,24 @@ public class MqttServiceImpl implements MqttService {
                      protocolType = sysDictData.getDictLabel();
                  }
         }
-        for(MqttObj obj:mqttObjList){
-               if(obj.getStatus() == 1) {
-                   JSONObject topicObj = obj.getTopicQos(protocolType);
-                   MQTTConnect mqttConnect = new MQTTConnect();
-                   try {
-                       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, mqttMsg.toString(), Integer.valueOf((String) topicObj.get("qos")));
-                       } else {
-                           String topic = "sensor/"+protocolType+"/" + sensorId;
-                           mqttConnect.pub(topic, mqttMsg.toString(), 0);
-                       }
-                   } catch (Exception e) {
-                       e.printStackTrace();
-                   }
-               }
-            }
+//        for(MqttObj obj:mqttObjList){
+//               if(obj.getStatus() == 1) {
+//                   JSONObject topicObj = obj.getTopicQos(protocolType);
+//                   MQTTConnect mqttConnect = new MQTTConnect();
+//                   try {
+//                       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, mqttMsg.toString(), Integer.valueOf((String) topicObj.get("qos")));
+//                       } else {
+//                           String topic = "sensor/"+protocolType+"/" + sensorId;
+//                           mqttConnect.pub(topic, mqttMsg.toString(), 0);
+//                       }
+//                   } catch (Exception e) {
+//                       e.printStackTrace();
+//                   }
+//               }
+//            }
     }
 
     @Override