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