From b30d722d8551de5f260903a54026390727061e23 Mon Sep 17 00:00:00 2001 From: guo Date: Fri, 2 Feb 2024 16:01:20 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AirQualityAnalysisController.java | 3 +- .../service/IAirQualityAnalysisService.java | 4 +- .../impl/AirQualityAnalysisServiceImpl.java | 39 +++++++++++++------ .../service/impl/SewageDataServiceImpl.java | 2 - .../controller/SmartGroutDataController.java | 6 +++ .../modules/smoke/entity/SmokeDevAlarm.java | 6 +-- .../java/com/zhgd/xmgl/task/ProjectTask.java | 2 +- src/main/java/com/zhgd/xmgl/util/AqiUtil.java | 25 ++++++++---- 8 files changed, 57 insertions(+), 30 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/modules/environment/controller/AirQualityAnalysisController.java b/src/main/java/com/zhgd/xmgl/modules/environment/controller/AirQualityAnalysisController.java index 9ac82c747..4f65ec074 100644 --- a/src/main/java/com/zhgd/xmgl/modules/environment/controller/AirQualityAnalysisController.java +++ b/src/main/java/com/zhgd/xmgl/modules/environment/controller/AirQualityAnalysisController.java @@ -94,10 +94,11 @@ public class AirQualityAnalysisController { @ApiOperation(value = "查询天气-周", notes = "查询天气-周", httpMethod = "POST") @ApiImplicitParams({ @ApiImplicitParam(name = "cityid", value = "市区编码", paramType = "body", required = false, dataType = "String"), + @ApiImplicitParam(name = "areaId", value = "行政区域县区Id", paramType = "body", required = false, dataType = "String"), }) @PostMapping(value = "/getWeatherData") public Result getWeatherData(@RequestBody Map map) { - return Result.success(airQualityAnalysisService.getWeatherData(MapUtils.getString(map, "cityid"))); + return Result.success(airQualityAnalysisService.getWeatherData(map)); } @ApiOperation(value = "查询天气实况", notes = "查询天气实况", httpMethod = "POST") diff --git a/src/main/java/com/zhgd/xmgl/modules/environment/service/IAirQualityAnalysisService.java b/src/main/java/com/zhgd/xmgl/modules/environment/service/IAirQualityAnalysisService.java index 0dc3f4754..f84c8f647 100644 --- a/src/main/java/com/zhgd/xmgl/modules/environment/service/IAirQualityAnalysisService.java +++ b/src/main/java/com/zhgd/xmgl/modules/environment/service/IAirQualityAnalysisService.java @@ -3,9 +3,7 @@ package com.zhgd.xmgl.modules.environment.service; import com.zhgd.xmgl.modules.environment.entity.AirQualityAnalysis; import com.baomidou.mybatisplus.extension.service.IService; import com.zhgd.xmgl.modules.environment.entity.vo.AirQualityStatisticsVo; -import com.gexin.fastjson.JSONObject; -import java.util.HashMap; import java.util.List; import java.util.Map; @@ -23,7 +21,7 @@ public interface IAirQualityAnalysisService extends IService void deleteProjectAirQualityAnalysis(String projectSn); - String getWeatherData(String cityid); + String getWeatherData(Map map); Object getWeatherLiveData(String cityid); } diff --git a/src/main/java/com/zhgd/xmgl/modules/environment/service/impl/AirQualityAnalysisServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/environment/service/impl/AirQualityAnalysisServiceImpl.java index 47552fdba..abeb7384c 100644 --- a/src/main/java/com/zhgd/xmgl/modules/environment/service/impl/AirQualityAnalysisServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/environment/service/impl/AirQualityAnalysisServiceImpl.java @@ -1,11 +1,11 @@ package com.zhgd.xmgl.modules.environment.service.impl; -import com.gexin.fastjson.JSONObject; -import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.zhgd.xmgl.modules.basicdata.entity.SystemAreas; import com.zhgd.xmgl.modules.basicdata.entity.SystemCities; +import com.zhgd.xmgl.modules.basicdata.mapper.SystemAreasMapper; import com.zhgd.xmgl.modules.basicdata.mapper.SystemCitiesMapper; import com.zhgd.xmgl.modules.environment.entity.AirQualityAnalysis; import com.zhgd.xmgl.modules.environment.entity.vo.AirQualityStatisticsVo; @@ -16,12 +16,12 @@ import com.zhgd.xmgl.modules.project.entity.Project; import com.zhgd.xmgl.modules.project.mapper.ProjectMapper; import com.zhgd.xmgl.util.AqiUtil; import org.apache.commons.collections.MapUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.text.SimpleDateFormat; import java.util.*; -import java.util.stream.Collectors; /** * @Description: 空气质量分析 @@ -39,6 +39,8 @@ public class AirQualityAnalysisServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); - queryWrapper.lambda().eq(SystemCities::getCityid, cityid); - SystemCities systemCities = systemCitiesMapper.selectOne(queryWrapper); - String weathercityid = null; - if (systemCities != null) { - weathercityid = systemCities.getWeathercityid(); + public String getWeatherData(Map map) { + String areaId = MapUtils.getString(map, "areaId"); + if (StringUtils.isNotBlank(areaId)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(SystemAreas::getAreaid, areaId); + SystemAreas systemCities = systemAreasMapper.selectOne(queryWrapper); + String weathercityid = null; + if (systemCities != null) { + weathercityid = systemCities.getWeathercityid(); + } + return AqiUtil.getWeatherData(weathercityid); + } else { + String cityid = MapUtils.getString(map, "cityid"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(SystemCities::getCityid, cityid); + SystemCities systemCities = systemCitiesMapper.selectOne(queryWrapper); + String weathercityid = null; + if (systemCities != null) { + weathercityid = systemCities.getWeathercityid(); + } + return AqiUtil.getWeatherData(weathercityid); } - return AqiUtil.getWeatherData(weathercityid); } @Override diff --git a/src/main/java/com/zhgd/xmgl/modules/sewage/service/impl/SewageDataServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/sewage/service/impl/SewageDataServiceImpl.java index e5fd127ff..f43f0138a 100644 --- a/src/main/java/com/zhgd/xmgl/modules/sewage/service/impl/SewageDataServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/sewage/service/impl/SewageDataServiceImpl.java @@ -161,7 +161,6 @@ public class SewageDataServiceImpl extends ServiceImpl sewageAlarms) { - if (CollUtil.isNotEmpty(sewageAlarms)) { Map alarmMap = sewageAlarms.stream().filter(sewageAlarm -> Objects.equals(sewageAlarm.getAlarmType(), 2)).collect(Collectors.toMap(SewageAlarm::getSewageType, Function.identity(), (sewageAlarm, sewageAlarm2) -> sewageAlarm)); Map warnMap = sewageAlarms.stream().filter(sewageAlarm -> Objects.equals(sewageAlarm.getAlarmType(), 1)).collect(Collectors.toMap(SewageAlarm::getSewageType, Function.identity(), (sewageAlarm, sewageAlarm2) -> sewageAlarm)); // @@ -221,7 +220,6 @@ public class SewageDataServiceImpl extends ServiceImpl systemCities = redisRepository.getOrSet(SYSTEM_CITIES_KEY, () -> systemCitiesMapper.selectList(null), 60 * 60L); - String key = WEATHER_QUALITY + cityCode; + public static Double getWeatherInfo(String areaCode) { + String key = WEATHER_QUALITY + areaCode; Object ro = redisRepository.get(key); if (ro != null) { return (Double) ro; } - Map cityIdMap = systemCities.stream().collect(Collectors.toMap(e -> e.getCityid(), Function.identity(), (o, o2) -> o)); //空气指数 Double air = null; try { Map param = new HashMap<>(); param.put("appid", tianqiAppid); param.put("appsecret", tianqiAppsecret); - String cityId = Optional.ofNullable(cityIdMap.get(cityCode)).map(e -> e.getWeathercityid()).orElse(null); - if (StringUtils.isNotBlank(cityId)) { - param.put("cityid", cityId); + List systemAreas = systemAreasMapper.selectList(new LambdaQueryWrapper() + .eq(SystemAreas::getAreaid, areaCode)); + if (CollUtil.isNotEmpty(systemAreas)) { + param.put("cityid", systemAreas.get(0).getWeathercityid()); } String urlString = tianqiUrl + "/free/day"; log.info("tianqi:url:{},param:{}", urlString, JSON.toJSONString(param));