|
@@ -13,12 +13,12 @@ import com.ruoyi.common.utils.StringUtils;
|
|
|
import com.ruoyi.common.utils.mqtt.MQTTConnect;
|
|
import com.ruoyi.common.utils.mqtt.MQTTConnect;
|
|
|
import com.ruoyi.common.utils.redis.CacheUtils;
|
|
import com.ruoyi.common.utils.redis.CacheUtils;
|
|
|
import com.ruoyi.data.domain.*;
|
|
import com.ruoyi.data.domain.*;
|
|
|
|
|
+import com.ruoyi.data.domain.bo.TblEquipmentSbookBo;
|
|
|
import com.ruoyi.data.domain.bo.TblMqttBo;
|
|
import com.ruoyi.data.domain.bo.TblMqttBo;
|
|
|
import com.ruoyi.data.domain.bo.TblSensorRecordBo;
|
|
import com.ruoyi.data.domain.bo.TblSensorRecordBo;
|
|
|
-import com.ruoyi.data.domain.vo.TblMqttVo;
|
|
|
|
|
-import com.ruoyi.data.domain.vo.TblRecordVo;
|
|
|
|
|
-import com.ruoyi.data.domain.vo.TblSensorRecordVo;
|
|
|
|
|
|
|
+import com.ruoyi.data.domain.vo.*;
|
|
|
import com.ruoyi.data.mapper.*;
|
|
import com.ruoyi.data.mapper.*;
|
|
|
|
|
+import com.ruoyi.data.service.ITblEquipmentSbookService;
|
|
|
import com.ruoyi.data.service.MqttService;
|
|
import com.ruoyi.data.service.MqttService;
|
|
|
import com.ruoyi.data.service.WebsocketService;
|
|
import com.ruoyi.data.service.WebsocketService;
|
|
|
import com.ruoyi.system.service.ISysDictTypeService;
|
|
import com.ruoyi.system.service.ISysDictTypeService;
|
|
@@ -30,9 +30,7 @@ import org.eclipse.paho.client.mqttv3.MqttException;
|
|
|
import org.eclipse.paho.client.mqttv3.MqttMessage;
|
|
import org.eclipse.paho.client.mqttv3.MqttMessage;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
-import sun.management.Sensor;
|
|
|
|
|
|
|
|
|
|
-import javax.annotation.PostConstruct;
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.Base64;
|
|
import java.util.Base64;
|
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
@@ -58,6 +56,8 @@ public class MqttServiceImpl implements MqttService {
|
|
|
|
|
|
|
|
private final WebsocketService websocketService;
|
|
private final WebsocketService websocketService;
|
|
|
|
|
|
|
|
|
|
+ private final ITblEquipmentSbookService equipmentSbookService;
|
|
|
|
|
+
|
|
|
@Value("${mqtt.url}")
|
|
@Value("${mqtt.url}")
|
|
|
private String mqttUrl;
|
|
private String mqttUrl;
|
|
|
|
|
|
|
@@ -80,7 +80,6 @@ public class MqttServiceImpl implements MqttService {
|
|
|
public void pubMqttData(String mqttStr) {
|
|
public void pubMqttData(String mqttStr) {
|
|
|
websocketService.sendMessageAll(mqttStr);
|
|
websocketService.sendMessageAll(mqttStr);
|
|
|
if(saveAndForward) {
|
|
if(saveAndForward) {
|
|
|
-
|
|
|
|
|
JSONObject jsonObject = new JSONObject(mqttStr);
|
|
JSONObject jsonObject = new JSONObject(mqttStr);
|
|
|
Long sensorId = Long.valueOf((String) jsonObject.get("sensorId"));
|
|
Long sensorId = Long.valueOf((String) jsonObject.get("sensorId"));
|
|
|
TblSensor tblSensor = tblSensorMapper.selectById(sensorId);
|
|
TblSensor tblSensor = tblSensorMapper.selectById(sensorId);
|
|
@@ -102,24 +101,15 @@ public class MqttServiceImpl implements MqttService {
|
|
|
mqttMsg.put("sensorData", sensorData);
|
|
mqttMsg.put("sensorData", sensorData);
|
|
|
MqttObj mqttObj = new MqttObj();
|
|
MqttObj mqttObj = new MqttObj();
|
|
|
mqttObj.setEquipmentId(deviceId);
|
|
mqttObj.setEquipmentId(deviceId);
|
|
|
- List<MqttObj> mqttObjList = tblEquipmentMqttMapper.selectMqttListByDeviceId(mqttObj);
|
|
|
|
|
|
|
+ List<MqttObj> mqttObjList = CacheUtils.get("DeviceMqtt",deviceId);
|
|
|
TblRecord tblRecord = new TblRecord();
|
|
TblRecord tblRecord = new TblRecord();
|
|
|
tblRecord.setEquipmentId(deviceId);
|
|
tblRecord.setEquipmentId(deviceId);
|
|
|
- tblRecord.setJson(mqttStr);
|
|
|
|
|
|
|
+ tblRecord.setJson(mqttMsg.toString());
|
|
|
tblRecord.setCreateBy("admin");
|
|
tblRecord.setCreateBy("admin");
|
|
|
tblRecord.setUpdateBy("admin");
|
|
tblRecord.setUpdateBy("admin");
|
|
|
tblRecord.setSensorId(sensorId);
|
|
tblRecord.setSensorId(sensorId);
|
|
|
tblRecordMapper.insert(tblRecord);
|
|
tblRecordMapper.insert(tblRecord);
|
|
|
-// TblSensorRecordBo tblSensorRecord = new TblSensorRecordBo();
|
|
|
|
|
-// tblSensorRecord.setEquipmentId(deviceId);
|
|
|
|
|
-// tblSensorRecord.setJson(mqttStr);
|
|
|
|
|
-// tblSensorRecord.setSensorId(sensorId);
|
|
|
|
|
-// tblSensorRecord.setCreateBy("admin");
|
|
|
|
|
-// tblSensorRecord.setUpdateBy("admin");
|
|
|
|
|
-// updateNowRecord(tblSensorRecord);
|
|
|
|
|
CacheUtils.put("sensorData",sensorId,mqttMsg.toString());
|
|
CacheUtils.put("sensorData",sensorId,mqttMsg.toString());
|
|
|
-
|
|
|
|
|
-// tblSensorRecordMapper.insert(tblSensorRecord);
|
|
|
|
|
String protocolType = "";
|
|
String protocolType = "";
|
|
|
List<SysDictData> sysDictTypeList = sysDictTypeService.selectDictDataByType("protocal_type");
|
|
List<SysDictData> sysDictTypeList = sysDictTypeService.selectDictDataByType("protocal_type");
|
|
|
for(SysDictData sysDictData:sysDictTypeList){
|
|
for(SysDictData sysDictData:sysDictTypeList){
|
|
@@ -283,6 +273,16 @@ public class MqttServiceImpl implements MqttService {
|
|
|
return lqw;
|
|
return lqw;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void setMqttCache(){
|
|
|
|
|
+ List<TblEquipmentSbookVo> equipmentVoList = equipmentSbookService.queryList(new TblEquipmentSbookBo());
|
|
|
|
|
+ for(TblEquipmentSbookVo vo:equipmentVoList){
|
|
|
|
|
+ MqttObj obj = new MqttObj();
|
|
|
|
|
+ obj.setEquipmentId(vo.getId());
|
|
|
|
|
+ List<MqttObj> mqttObjList = tblEquipmentMqttMapper.selectMqttListByDeviceId(obj);
|
|
|
|
|
+ CacheUtils.put("DeviceMqtt",vo.getId(),mqttObjList);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|