소스 검색

设备告警增加字段

ZhangManMan 2 년 전
부모
커밋
b793ebf0bb

+ 1 - 1
src/main/java/com/sky/ioc/SkyIocApplication.java

@@ -35,7 +35,7 @@ public class SkyIocApplication extends SpringBootServletInitializer {
     public void consumeMqttClient() throws MqttException {
         if(active.equals("publish")){
             mqttSubsribe.start("notice/device/status/safety/camera,notice/device/status/energy/device");
-        }
+       }
 
     }
 

+ 6 - 1
src/main/java/com/sky/ioc/entity/domain/energy/DeviceMessage.java

@@ -15,7 +15,7 @@ public class DeviceMessage {
     private Integer deviceId;
 
 /*
-    其中service 为服务名,supplierId为服务厂商编号,apiUrl为获取摄像头列表的地址,module为模块名,id为设备id,mesaage为离线通知内容
+    其中service 为服务名,supplierId为服务厂商编号,apiUrl为获取摄像头列表的地址,module为模块名,id为设备id,message为离线通知内容
 */
     /** 服务名 */
     private String service;
@@ -30,4 +30,9 @@ public class DeviceMessage {
 
     private String createTime;
 
+    private String deviceName;
+
+    /** 告警类别 1 一般告警 2紧急告警 3重要告警 */
+    private Integer type;
+
 }

+ 23 - 0
src/main/java/com/sky/ioc/message/PushCallback.java

@@ -1,8 +1,13 @@
 package com.sky.ioc.message;
 
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.sky.ioc.entity.domain.energy.DeviceMessage;
+import com.sky.ioc.entity.domain.energy.EnergyDevice;
+import com.sky.ioc.entity.domain.security.SecurityDevice;
 import com.sky.ioc.mapper.energy.DeviceMessageMapper;
+import com.sky.ioc.mapper.energy.EnergyDeviceMapper;
+import com.sky.ioc.mapper.security.SecurityDeviceMapper;
 import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
 import org.eclipse.paho.client.mqttv3.MqttCallback;
 import org.eclipse.paho.client.mqttv3.MqttMessage;
@@ -32,6 +37,12 @@ public class PushCallback implements MqttCallback {
     @Autowired
     DeviceMessageMapper deviceMessageMapper;
 
+    @Autowired
+    SecurityDeviceMapper securityDeviceMapper;
+
+    @Autowired
+    EnergyDeviceMapper energyDeviceMapper;
+
 
     @Override
     public void connectionLost(Throwable throwable) {
@@ -57,6 +68,18 @@ public class PushCallback implements MqttCallback {
         deviceMessage.setSupplierId(jsonObject.getString("supplierId"));
         deviceMessage.setDeviceId(jsonObject.getInteger("id"));
         deviceMessage.setCreateTime(new Date()+"");
+        Integer deviceId = deviceMessage.getDeviceId();
+        String service = deviceMessage.getService();
+        String name = "";
+        if(service.equals("energy")){
+            EnergyDevice energyDevice = energyDeviceMapper.selectOne(new LambdaQueryWrapper<EnergyDevice>().eq(EnergyDevice::getId,deviceId));
+            name = energyDevice==null?"":energyDevice.getDeviceName();
+        }else if(service.equals("safety")){
+            SecurityDevice securityDevice = securityDeviceMapper.selectOne(new LambdaQueryWrapper<SecurityDevice>().eq(SecurityDevice::getThirdId,deviceId));
+            name = securityDevice==null?"":securityDevice.getDeviceName();
+        }
+        deviceMessage.setDeviceName(name);
+        deviceMessage.setType(1);
         deviceMessageMapper.insert(deviceMessage);
 
     }