| | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.moral.api.config.properties.SpecialCitiesProperties; |
| | | import com.moral.api.entity.CityAqiDaily; |
| | | import com.moral.api.entity.SysArea; |
| | | import com.moral.api.mapper.CityAqiDailyMapper; |
| | |
| | | import com.moral.api.pojo.dto.cityAQI.MonthlyPollutionLevel; |
| | | import com.moral.api.pojo.dto.cityAQI.PollutionDaysAndProportion; |
| | | import com.moral.api.pojo.form.aqi.AreaPollutionLevelForm; |
| | | import com.moral.api.pojo.form.aqi.SpecialCitiesPollutionLevelForm; |
| | | import com.moral.api.pojo.vo.cityAQI.PieChartOfPollutionLevelVO; |
| | | import com.moral.api.pojo.form.aqi.ChartOfPollutionLevelForm; |
| | | import com.moral.api.service.CityAqiDailyService; |
| | |
| | | CityAqiDailyMapper cityAqiDailyMapper; |
| | | @Autowired |
| | | SysAreaService sysAreaService; |
| | | @Autowired |
| | | SpecialCitiesProperties specialCitiesProperties; |
| | | |
| | | @Override |
| | | public PieChartOfPollutionLevelVO queryPieChartOfPollutionLevels(ChartOfPollutionLevelForm form) { |
| | |
| | | return resultMap; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List<CityPollutionLevel> queryAreaPollutionLevel(AreaPollutionLevelForm form) { |
| | | //取参 |
| | |
| | | List<CityPollutionLevel> datas = new ArrayList<>(); |
| | | //遍历每个县级市 查询数据 |
| | | for (SysArea area : allAreas) { |
| | | CityPollutionLevel cityPollutionLevel = calculateDaysByTimeAndCityCode(area,startDate,endDate); |
| | | datas.add(cityPollutionLevel); |
| | | } |
| | | return datas; |
| | | } |
| | | |
| | | @Override |
| | | public List<CityPollutionLevel> querySpecialCitiesPollutionLevel(SpecialCitiesPollutionLevelForm form) { |
| | | //取参 |
| | | Date startDate = form.getStartDate(); |
| | | Date endDate = form.getEndDate(); |
| | | List<SysArea> areas = specialCitiesProperties.getTwentyEightCities(); |
| | | //创建返回数据对象 |
| | | List<CityPollutionLevel> datas = new ArrayList<>(); |
| | | //遍历每个县级市 查询数据 |
| | | for (SysArea area : areas) { |
| | | CityPollutionLevel cityPollutionLevel = calculateDaysByTimeAndCityCode(area,startDate,endDate); |
| | | datas.add(cityPollutionLevel); |
| | | } |
| | | return datas; |
| | | } |
| | | |
| | | /** |
| | | * @Description: 根据地区对象和开始结束时间计算污染天气 |
| | | * @Param: [area, startDate, endDate] |
| | | * @return: com.moral.api.pojo.dto.cityAQI.CityPollutionLevel |
| | | * @Author: 陈凯裕 |
| | | * @Date: 2021/12/31 |
| | | */ |
| | | private CityPollutionLevel calculateDaysByTimeAndCityCode(SysArea area, Date startDate, Date endDate) { |
| | | //查询数据 |
| | | QueryWrapper<CityAqiDaily> wrapper = new QueryWrapper<>(); |
| | | wrapper.eq("city_code", area.getAreaCode()); |
| | |
| | | cityPollutionLevel.setMiddleWeatherDays(pollutionDaysMap.get(Constants.MIDDLE_WEATHER_CODE)); |
| | | cityPollutionLevel.setSeriousWeatherDays(pollutionDaysMap.get(Constants.SERIOUS_WEATHER_CODE)); |
| | | cityPollutionLevel.setServerWeatherDays(pollutionDaysMap.get(Constants.SERVER_WEATHER_CODE)); |
| | | datas.add(cityPollutionLevel); |
| | | } |
| | | return datas; |
| | | return cityPollutionLevel; |
| | | } |
| | | |
| | | } |