diff --git a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/controller/ToolController.java b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/controller/ToolController.java
index 38d98d0b..5e60b22d 100644
--- a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/controller/ToolController.java
+++ b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/controller/ToolController.java
@@ -195,8 +195,8 @@ public class ToolController extends BaseController {
if (model.getAction().equals("client_disconnected")) {
device.setStatus(4);
deviceService.updateDeviceStatusAndLocation(device, "");
- // 发布设备状态
- emqxService.publishStatus(device.getProductId(), device.getSerialNumber(), 4, device.getIsShadow());
+ // 设备掉线后发布设备状态
+ emqxService.publishStatus(device.getProductId(), device.getSerialNumber(), 4, device.getIsShadow(),device.getRssi());
// 清空保留消息,上线后发布新的属性功能保留消息
emqxService.publishProperty(device.getProductId(), device.getSerialNumber(), null);
emqxService.publishFunction(device.getProductId(), device.getSerialNumber(), null);
diff --git a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/mqtt/EmqxService.java b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/mqtt/EmqxService.java
index 10b1bea8..02dbf699 100644
--- a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/mqtt/EmqxService.java
+++ b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/mqtt/EmqxService.java
@@ -136,7 +136,7 @@ public class EmqxService {
device.setSerialNumber(deviceNum);
deviceService.reportDevice(device,deviceEntity);
// 发布设备状态
- publishStatus(productId, deviceNum, 3, deviceEntity.getIsShadow());
+ publishStatus(productId, deviceNum, 3, deviceEntity.getIsShadow(),device.getRssi());
} catch (Exception e) {
logger.error("接收设备信息,解析数据时异常 message={}", e.getMessage());
}
@@ -216,8 +216,8 @@ public class EmqxService {
/**
* 1.发布设备状态
*/
- public void publishStatus(Long productId, String deviceNum, int deviceStatus, int isShadow) {
- String message = "{\"status\":" + deviceStatus + ",\"isShadow\":" + isShadow + "}";
+ public void publishStatus(Long productId, String deviceNum, int deviceStatus, int isShadow,int rssi) {
+ String message = "{\"status\":" + deviceStatus + ",\"isShadow\":" + isShadow + ",\"rssi\":" + rssi + "}";
emqxClient.publish(1, false, "/" + productId + "/" + deviceNum + pStatusTopic, message);
}
diff --git a/springboot/wumei-iot/src/main/resources/mapper/iot/DeviceMapper.xml b/springboot/wumei-iot/src/main/resources/mapper/iot/DeviceMapper.xml
index e3b0e8bf..60e29dc7 100644
--- a/springboot/wumei-iot/src/main/resources/mapper/iot/DeviceMapper.xml
+++ b/springboot/wumei-iot/src/main/resources/mapper/iot/DeviceMapper.xml
@@ -112,7 +112,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- select device_id, device_name,product_id, serial_number,user_id, user_name, tenant_id, tenant_name, status,is_shadow ,location_way,things_model_value, active_time from iot_device
+ select device_id, device_name,product_id, serial_number,user_id, user_name, tenant_id, tenant_name, status,is_shadow, rssi ,location_way,things_model_value, active_time from iot_device