diff --git a/src/main/java/com/ruoyi/device/domain/model/thingsboard/constants/DeviceTelemetry.java b/src/main/java/com/ruoyi/device/domain/model/thingsboard/constants/DeviceTelemetry.java index b23ccc8..99ba157 100644 --- a/src/main/java/com/ruoyi/device/domain/model/thingsboard/constants/DeviceTelemetry.java +++ b/src/main/java/com/ruoyi/device/domain/model/thingsboard/constants/DeviceTelemetry.java @@ -40,6 +40,24 @@ public class DeviceTelemetry { } ); + + /** + * 环境温度 environment_temperature + */ + // 温度 - Double + public static final TelemetryKey Environment_Temperature = TelemetryKey.of( + "environment_temperature", + Double.class, + value -> { + if (value == null) return null; + if (value instanceof Number) { + return ((Number) value).doubleValue(); + } + return Double.parseDouble(value.toString()); + } + ); + + /** * 备降点经度 */ @@ -427,7 +445,8 @@ public class DeviceTelemetry { Height_Limit, Distance_Limit_Status_Distance_Limit, Alternate_land_point_Latitude, - Alternate_land_point_Longitude + Alternate_land_point_Longitude, + Environment_Temperature ); } diff --git a/src/main/java/com/ruoyi/device/service/impl/BufferDeviceImpl.java b/src/main/java/com/ruoyi/device/service/impl/BufferDeviceImpl.java index 84ab6a5..41bf7d2 100644 --- a/src/main/java/com/ruoyi/device/service/impl/BufferDeviceImpl.java +++ b/src/main/java/com/ruoyi/device/service/impl/BufferDeviceImpl.java @@ -174,7 +174,23 @@ public class BufferDeviceImpl implements IBufferDeviceService } }); + // 设置环境数据 + // 风速(单位:米每秒) + telemetryMap.get(DeviceTelemetry.Wind_Speed) + .ifPresent(telemetryValue -> dto.setWindSpeed(telemetryValue.getValue())); + // 降雨量(枚举值:0-无雨,1-小雨,2-中雨,3-大雨) + telemetryMap.get(DeviceTelemetry.Rainfall) + .ifPresent(telemetryValue -> { + Integer rainfallCode = telemetryValue.getValue(); + if (rainfallCode != null) { + dto.setRainfall(rainfallCode.doubleValue()); + } + }); + + // 环境温度(环境温度) + telemetryMap.get(DeviceTelemetry.Environment_Temperature) + .ifPresent(telemetryValue -> dto.setEnvironmentTemperature(telemetryValue.getValue())); return dto; }