From 29c415ef1c043cb1b9bcc434008bd805674778d2 Mon Sep 17 00:00:00 2001
From: 于紫祥_1901 <email@yuzixiang_1910>
Date: Wed, 02 Dec 2020 11:34:13 +0800
Subject: [PATCH] update

---
 src/main/java/com/moral/util/AQICalculation2.java |   40 +++++++++++++++++++---------------------
 1 files changed, 19 insertions(+), 21 deletions(-)

diff --git a/src/main/java/com/moral/util/AQICalculation2.java b/src/main/java/com/moral/util/AQICalculation2.java
index bc009b0..3f62277 100644
--- a/src/main/java/com/moral/util/AQICalculation2.java
+++ b/src/main/java/com/moral/util/AQICalculation2.java
@@ -5,7 +5,7 @@
 public class AQICalculation2 {
 
 	public static Map<String, Object> hourlyAQI(Map<String, Object> map){
-		List<Double> AQIList = new ArrayList<>();
+		Map<String,Double> AQIMap = new HashMap<>();
 		Map maxMap = new HashMap();
 		for (Map.Entry<String, Object> entry : map.entrySet()) {
 			String key = entry.getKey();
@@ -28,38 +28,37 @@
 
 			switch (key) {
 				case "PM2_5":PM2_5AQI = PM2_5AQI(value);
-					AQIList.add(PM2_5AQI);
+					AQIMap.put("PM2_5",PM2_5AQI);
 					break;
 				case "PM10":PM10AQI = PM10AQI(value);
-					AQIList.add(PM10AQI);
+					AQIMap.put("PM10",PM10AQI);
 					break;
 				case "SO2":SO2AQI = SO2AQI(value);
-					AQIList.add(SO2AQI);
+					AQIMap.put("SO2",SO2AQI);
 					break;
 				case "NO2":NO2AQI = NO2AQI(value);
-					AQIList.add(NO2AQI);
+					AQIMap.put("NO2",NO2AQI);
 					break;
 				case "CO":COAQI = COAQI(value);
-					AQIList.add(COAQI);
+					AQIMap.put("CO",COAQI);
 					break;
 				case "maxO3_8h":O3AQI = O3AQI(value);
-					AQIList.add(O3AQI);
+					AQIMap.put("maxO3_8h",O3AQI);
 					break;
 				default:
 					break;
 			}
 		}
 		Map<String, Object> returnMap = new HashMap<>();
-		Double AQIMAX = Collections.max(AQIList);
-		Optional<Map.Entry<String, Integer>> max0 = maxMap.entrySet()
+		Optional<Map.Entry<String, Double>> max0 = AQIMap.entrySet()
 				.stream()
 				.max(Map.Entry.comparingByValue());
 		returnMap.put("maxSensor", max0.get().getKey());
-		returnMap.put("AQI", new Double(Math.floor(Math.round(AQIMAX+0.5))).intValue());
+		returnMap.put("AQI", new Double(Math.floor(Math.round(max0.get().getValue()+0.5))).intValue());
 		return returnMap;
 	}
 	public static Map<String, Object> dayAQI(Map<String, Object> map){
-		List<Double> AQIList = new ArrayList<>();
+		Map<String,Double> AQIMap = new HashMap<>();
 		Map maxMap = new HashMap();
 		for (Map.Entry<String, Object> entry : map.entrySet()) {
 			String key = entry.getKey();
@@ -80,35 +79,34 @@
 			Double maxO38hAQI;
 			switch (key) {
 				case "PM2_5":PM2_5AQI = PM2_5AQI(value);
-					AQIList.add(PM2_5AQI);
+					AQIMap.put("PM2_5",PM2_5AQI);
 					break;
 				case "PM10":PM10AQI = PM10AQI(value);
-					AQIList.add(PM10AQI);
+					AQIMap.put("PM10",PM10AQI);
 					break;
 				case "SO2":SO2AQI = SO2DayAQI(value);
-					AQIList.add(SO2AQI);
+					AQIMap.put("SO2",SO2AQI);
 					break;
 				case "NO2":NO2AQI = NO2DayAQI(value);
-					AQIList.add(NO2AQI);
+					AQIMap.put("NO2",NO2AQI);
 					break;
 				case "CO":COAQI = CODayAQI(value);
-					AQIList.add(COAQI);
+					AQIMap.put("CO",COAQI);
 					break;
 				case "maxO3_8h":maxO38hAQI = O3DayAQI(value);
-					AQIList.add(maxO38hAQI);
+					AQIMap.put("maxO3_8h",maxO38hAQI);
 					break;
 				default:
 					break;
 			}
 		}
 		Map<String, Object> returnMap = new HashMap<>();
-		if (AQIList.size()>0){
-			Double AQIMAX = Collections.max(AQIList);
-			Optional<Map.Entry<String, Integer>> max0 = maxMap.entrySet()
+		if (AQIMap.size()>0){
+			Optional<Map.Entry<String, Double>> max0 = AQIMap.entrySet()
 					.stream()
 					.max(Map.Entry.comparingByValue());
 			returnMap.put("maxSensor",max0.get().getKey());
-			returnMap.put("AQI", new Double(Math.floor(Math.round(AQIMAX+0.5))).intValue());
+			returnMap.put("AQI", new Double(Math.floor(Math.round(max0.get().getValue()+0.5))).intValue());
 		}else {
 			returnMap.put("maxSensor","");
 			returnMap.put("AQI", "");

--
Gitblit v1.8.0