From c492a224f8f89cca822e7539fe9a570415a6094e Mon Sep 17 00:00:00 2001 From: kaiyu <404897439@qq.com> Date: Thu, 13 Jan 2022 08:28:17 +0800 Subject: [PATCH] screen-api 添加获取城市同期对比模拟数据接口 --- screen-api/src/main/java/com/moral/api/pojo/dto/cityAQI/ConcentrationAndPercent.java | 24 ++++ screen-api/src/main/java/com/moral/api/pojo/form/aqi/AirQualityComparisonForm.java | 102 ++++++++++++++++++++ screen-api/src/main/java/com/moral/api/controller/AqiController.java | 49 +++++++++ screen-api/src/main/java/com/moral/api/pojo/vo/cityAQI/AirQualityComparisonVO.java | 38 +++++++ screen-common/src/main/java/com/moral/constant/Constants.java | 57 ++++++++--- 5 files changed, 250 insertions(+), 20 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/controller/AqiController.java b/screen-api/src/main/java/com/moral/api/controller/AqiController.java index 29ef335..4adb29b 100644 --- a/screen-api/src/main/java/com/moral/api/controller/AqiController.java +++ b/screen-api/src/main/java/com/moral/api/controller/AqiController.java @@ -1,14 +1,13 @@ package com.moral.api.controller; import com.moral.api.pojo.dto.cityAQI.CityPollutionLevel; +import com.moral.api.pojo.dto.cityAQI.ConcentrationAndPercent; import com.moral.api.pojo.dto.cityAQI.MonthlyPollutionLevel; -import com.moral.api.pojo.form.aqi.AreaPollutionLevelForm; -import com.moral.api.pojo.form.aqi.ProvinceCitiesPollutionLevelForm; -import com.moral.api.pojo.form.aqi.SpecialCitiesPollutionLevelForm; +import com.moral.api.pojo.form.aqi.*; +import com.moral.api.pojo.vo.cityAQI.AirQualityComparisonVO; import com.moral.api.pojo.vo.cityAQI.BarChartOfPollutionLevelVO; import com.moral.api.pojo.vo.cityAQI.BarChartTableOfPollutionLevelVO; import com.moral.api.pojo.vo.cityAQI.PieChartOfPollutionLevelVO; -import com.moral.api.pojo.form.aqi.ChartOfPollutionLevelForm; import com.moral.api.service.CityAqiDailyService; import io.swagger.annotations.Api; @@ -257,4 +256,46 @@ return ResultMessage.ok(datas); } + /** + * @Description: ������������������������������������������ + * @Param: [form] + * @return: com.moral.constant.ResultMessage + * @Author: ��������� + * @Date: 2022/1/12 + */ + @GetMapping("queryAirQualityComparison") + public ResultMessage queryAirQualityComparison(AirQualityComparisonForm form){ + //������������������������ + if (!form.valid()) + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), + ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); + //������������ + //������������ + ConcentrationAndPercent c = new ConcentrationAndPercent(); + c.setConcentration("5"); + c.setPercent("10%"); + List<AirQualityComparisonVO> datas = new ArrayList<>(); + AirQualityComparisonVO vo1 = new AirQualityComparisonVO(); + vo1.setCityName("XXX"); + vo1.setCompositeIndex(c); + vo1.setPM10(c); + vo1.setPM25(c); + vo1.setSO2(c); + vo1.setNO2(c); + vo1.setCO(c); + vo1.setO3(c); + vo1.setFineDays(c); + vo1.setServerDays(c); + AirQualityComparisonVO vo2 = vo1; + AirQualityComparisonVO vo3 = vo1; + AirQualityComparisonVO vo4 = vo1; + AirQualityComparisonVO vo5 = vo1; + datas.add(vo1); + datas.add(vo2); + datas.add(vo3); + datas.add(vo4); + datas.add(vo5); + return ResultMessage.ok(datas); + } + } diff --git a/screen-api/src/main/java/com/moral/api/pojo/dto/cityAQI/ConcentrationAndPercent.java b/screen-api/src/main/java/com/moral/api/pojo/dto/cityAQI/ConcentrationAndPercent.java new file mode 100644 index 0000000..ea01fca --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/dto/cityAQI/ConcentrationAndPercent.java @@ -0,0 +1,24 @@ +package com.moral.api.pojo.dto.cityAQI; + +import lombok.Data; + +/** + * @ClassName SensorConAndPer + * @Description ��������������������������������������� + * @Author ��������� + * @Date 2022/1/12 16:55 + * @Version TODO + **/ +@Data +public class ConcentrationAndPercent { + + /* + * ���������������/������/������ + * */ + private String concentration; + + /* + * ������/������ + * */ + private String percent; +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/form/aqi/AirQualityComparisonForm.java b/screen-api/src/main/java/com/moral/api/pojo/form/aqi/AirQualityComparisonForm.java new file mode 100644 index 0000000..69ae60a --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/form/aqi/AirQualityComparisonForm.java @@ -0,0 +1,102 @@ +package com.moral.api.pojo.form.aqi; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.moral.constant.Constants; +import com.moral.util.DateUtils; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + * @ClassName AirQualityForm + * @Description ������������������������������ + * @Author ��������� + * @Date 2022/1/12 15:11 + * @Version TODO + **/ +@Data +public class AirQualityComparisonForm { + /* + * ��������� ������28������������������ + * */ + Integer regionCode; + + /* + * ������������ 0������������������1������������������2���28������ + * */ + String regionType; + + /* + * ���������������0��������� 1��������� + * */ + String comparisonType; + + /* + * ��������������������������������������������������� + * */ + @DateTimeFormat(pattern = "yyyy") + @JsonFormat(pattern = "yyyy", timezone = "GMT+8") + Date year; + + /* + * ��������������������������������������������������� + * */ + @DateTimeFormat(pattern = "yyyy-MM") + @JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8") + Date month; + + /* + * ��������������������������������� + * */ + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + Date startDate; + + /* + * ��������������������������������� + * */ + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + Date endDate; + + public boolean valid() { + //������������������������������������ + if(regionType==null||comparisonType==null) + return false; + if (!regionType.equals(Constants.TWENTY_EIGHT_CITIES) && regionCode == null) + return false; + if (regionCode.toString().length() != 6) + return false; + if (regionType.equals(Constants.CITY_TYPE)) { + String regionCodeStr = regionCode.toString(); + if (!regionCodeStr.substring(regionCodeStr.length() - 2, regionCodeStr.length()).equals("00")) + return false; + } + if (regionType.equals(Constants.PROVINCE_TYPE)) { + String regionCodeStr = regionCode.toString(); + if (!regionCodeStr.substring(regionCodeStr.length() - 4, regionCodeStr.length()).equals("0000")) + return false; + } + + //������������ + if (year != null) { + if(month!=null) + return false; + startDate = DateUtils.getFirstDayOfYear(year); + endDate = DateUtils.getLastDayOfYear(year); + return true; + } + if (month != null) { + if(year!=null) + return false; + startDate = DateUtils.getFirstDayOfMonth(month); + endDate = DateUtils.getLastDayOfMonth(month); + return true; + } + if(startDate!=null&&endDate!=null) + return true; + + return false; + } +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/vo/cityAQI/AirQualityComparisonVO.java b/screen-api/src/main/java/com/moral/api/pojo/vo/cityAQI/AirQualityComparisonVO.java new file mode 100644 index 0000000..586ac6a --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/vo/cityAQI/AirQualityComparisonVO.java @@ -0,0 +1,38 @@ +package com.moral.api.pojo.vo.cityAQI; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.moral.api.pojo.dto.cityAQI.ConcentrationAndPercent; +import lombok.Data; + +/** + * @ClassName AirQualityComparisonVO + * @Description ������������������������VO + * @Author ��������� + * @Date 2022/1/12 16:51 + * @Version TODO + **/ +@Data +public class AirQualityComparisonVO { + + private String cityName; + + private ConcentrationAndPercent compositeIndex; + + private ConcentrationAndPercent PM25; + + private ConcentrationAndPercent PM10; + + private ConcentrationAndPercent SO2; + + private ConcentrationAndPercent NO2; + + private ConcentrationAndPercent CO; + + private ConcentrationAndPercent O3; + + private ConcentrationAndPercent fineDays; + + private ConcentrationAndPercent serverDays; + + +} diff --git a/screen-common/src/main/java/com/moral/constant/Constants.java b/screen-common/src/main/java/com/moral/constant/Constants.java index 23e2737..a973063 100644 --- a/screen-common/src/main/java/com/moral/constant/Constants.java +++ b/screen-common/src/main/java/com/moral/constant/Constants.java @@ -190,18 +190,18 @@ public static final String NULL_VALUE = "N/V"; /* - * ������������������������,������ - * */ + * ������������������������,������ + * */ public static final String MARKER_BIT_TRUE = "N"; /* - * ������������������������,��������������� - * */ + * ������������������������,��������������� + * */ public static final String MARKER_BIT_FALSE = "H"; /* - * ������������������������������������������key������ - * */ + * ������������������������������������������key������ + * */ public static final String MARKER_BIT_KEY = "Flag"; /* @@ -220,28 +220,28 @@ public static final String SPECIAL_DEVICE_UAV = "1"; /* - * ������ - * */ + * ������ + * */ public static final String HOURLY_REPORT = "0"; /* - * ������ - * */ + * ������ + * */ public static final String DAILY_REPORT = "1"; /* - * ������ - * */ + * ������ + * */ public static final String WEEKLY_REPORT = "2"; /* - * ������ - * */ + * ������ + * */ public static final String MONTHLY_REPORT = "3"; /* - * ��������������������� - * */ + * ��������������������� + * */ public static final String NORMAL_FLAG = "N"; public static final String EXCELLENT_WEATHER = "���"; @@ -267,4 +267,29 @@ public static final String SERIOUS_WEATHER_CODE = "4"; public static final String SERVER_WEATHER_CODE = "5"; + + /* + * ������������ + * */ + public static final String CITY_TYPE = "0"; + + /* + * ������������ + * */ + public static final String PROVINCE_TYPE = "1"; + + /* + * 28������������ + * */ + public static final String TWENTY_EIGHT_CITIES = "2"; + + /* + * ������������ + * */ + public static final String YOY = "0"; + + /* + * ������������ + * */ + public static final String QOQ = "1"; } -- Gitblit v1.8.0