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()); }