From 239927b057f65a040594f7a4cb08c8881b303797 Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Fri, 18 Aug 2023 14:52:16 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/cjl-230812' into cjl-230812
---
screen-api/src/main/java/com/moral/api/pojo/form/aqi/AirQualityComparisonForm.java | 77 ++++++++++++++++++++++++--------------
1 files changed, 48 insertions(+), 29 deletions(-)
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
index 69ae60a..df4aca9 100644
--- 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
@@ -23,28 +23,24 @@
Integer regionCode;
/*
- * ������������ 0������������������1������������������2���28������
+ * ������������ city������������������province������������������28���28������
* */
String regionType;
/*
- * ���������������0��������� 1���������
+ * ���������������yoy��������� mom���������
* */
String comparisonType;
/*
* ���������������������������������������������������
* */
- @DateTimeFormat(pattern = "yyyy")
- @JsonFormat(pattern = "yyyy", timezone = "GMT+8")
- Date year;
+ String dateType;
/*
* ���������������������������������������������������
* */
- @DateTimeFormat(pattern = "yyyy-MM")
- @JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8")
- Date month;
+ String time;
/*
* ���������������������������������
@@ -60,13 +56,21 @@
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
Date endDate;
+ /*
+ * ������������������
+ * */
+ Date comparisonStartDate;
+
+ /*
+ * ������������������
+ * */
+ Date comparisonEndDate;
+
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();
@@ -75,28 +79,43 @@
}
if (regionType.equals(Constants.PROVINCE_TYPE)) {
String regionCodeStr = regionCode.toString();
- if (!regionCodeStr.substring(regionCodeStr.length() - 4, regionCodeStr.length()).equals("0000"))
- return false;
+ regionCode = Integer.parseInt(regionCodeStr.substring(0,regionCodeStr.length()-4)+"0000");
}
-
//������������
- if (year != null) {
- if(month!=null)
- return false;
- startDate = DateUtils.getFirstDayOfYear(year);
- endDate = DateUtils.getLastDayOfYear(year);
- return true;
+ if(dateType.equals(Constants.MONTH)){
+ Date date = DateUtils.getDate(time, "yyyy-MM");
+ startDate = DateUtils.getFirstDayOfMonth(date);
+ endDate = DateUtils.getLastDayOfMonth(date);
}
- 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;
+ if(dateType.equals(Constants.YEAR)){
+ Date date = DateUtils.getDate(time, "yyyy");
+ startDate = DateUtils.getFirstDayOfYear(date);
+ endDate = DateUtils.getLastDayOfYear(date);
+ }
+
+ if(startDate==null||endDate==null)
+ return false;
+
+ calculateComparisonDate();
+
+ return true;
+ }
+
+ /**
+ * @Description: ������������������
+ * @Param: [startDate, endDate]
+ * @return: void
+ * @Author: ���������
+ * @Date: 2022/1/14
+ */
+ private void calculateComparisonDate(){
+ if(comparisonType.equals(Constants.MOM)){
+ comparisonStartDate = DateUtils.addMonths(startDate,-1);
+ comparisonEndDate = DateUtils.addMonths(endDate,-1);
+ }else{
+ comparisonStartDate = DateUtils.addMonths(startDate,-12);
+ comparisonEndDate = DateUtils.addMonths(endDate,-12);
+ }
}
}
--
Gitblit v1.8.0