From 178829ee3519744d4ebd7a33f76bd4c74a9f70cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E5=B0=8F=E4=BA=91?= Date: Sat, 31 Jan 2026 10:47:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/service/impl/BufferDeviceImpl.java | 30 ++++++++++++++----- 1 file changed, 23 insertions(+), 7 deletions(-) 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 596d482..93408b5 100644 --- a/src/main/java/com/ruoyi/device/service/impl/BufferDeviceImpl.java +++ b/src/main/java/com/ruoyi/device/service/impl/BufferDeviceImpl.java @@ -359,13 +359,29 @@ public class BufferDeviceImpl implements IBufferDeviceService () -> log.warn("未获取到经度数据,dockerDeviceIotId: {}", dockerDeviceIotId) ); - Weather weather =iWeatherDomain.weatherInfo(dto.getLatitude().toString(), dto.getLongitude().toString()); - if (weather != null) { - dto.setWindSpeed(weather.getWindSpeed()); - dto.setRainfall(weather.getRainfall()); - dto.setEnvironmentTemperature(weather.getEnvironmentTemperature()); - dto.setEnvironmentHumidity(weather.getEnvironmentHumidity()); -// log.info("weather {}",weather); + // 添加日志:检查经纬度是否存在 + log.info("准备获取天气信息 - dockerDeviceIotId: {}, latitude: {}, longitude: {}", + dockerDeviceIotId, dto.getLatitude(), dto.getLongitude()); + + if (dto.getLatitude() != null && dto.getLongitude() != null) { + Weather weather = iWeatherDomain.weatherInfo(dto.getLatitude().toString(), dto.getLongitude().toString()); + log.info("天气API返回结果 - weather: {}", JSON.toJSONString(weather)); + + if (weather != null) { + dto.setWindSpeed(weather.getWindSpeed()); + dto.setRainfall(weather.getRainfall()); + dto.setEnvironmentTemperature(weather.getEnvironmentTemperature()); + dto.setEnvironmentHumidity(weather.getEnvironmentHumidity()); + log.info("天气数据设置完成 - windSpeed: {}, rainfall: {}, temperature: {}, humidity: {}", + weather.getWindSpeed(), weather.getRainfall(), + weather.getEnvironmentTemperature(), weather.getEnvironmentHumidity()); + } else { + log.warn("天气API返回null - dockerDeviceIotId: {}, lat: {}, lon: {}", + dockerDeviceIotId, dto.getLatitude(), dto.getLongitude()); + } + } else { + log.warn("经纬度数据缺失,无法获取天气信息 - dockerDeviceIotId: {}, latitude: {}, longitude: {}", + dockerDeviceIotId, dto.getLatitude(), dto.getLongitude()); }