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