From 7c01136ada7965d03d3f1459caaafdb2da063016 Mon Sep 17 00:00:00 2001 From: ZhuDongming <773644075@qq.com> Date: Tue, 20 Aug 2019 15:02:33 +0800 Subject: [PATCH] 添加sensor中英文对照map的service实现 --- src/main/java/com/moral/service/impl/HistoryServiceImpl.java | 39 ++++++++++++++++++++++++++++++++++++++- 1 files changed, 38 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/moral/service/impl/HistoryServiceImpl.java b/src/main/java/com/moral/service/impl/HistoryServiceImpl.java index f8c8a05..6628fe1 100644 --- a/src/main/java/com/moral/service/impl/HistoryServiceImpl.java +++ b/src/main/java/com/moral/service/impl/HistoryServiceImpl.java @@ -9,6 +9,7 @@ import java.time.temporal.TemporalAdjusters; import java.util.ArrayList; import java.util.Arrays; +import java.util.Calendar; import java.util.Collections; import java.util.Comparator; import java.util.Date; @@ -37,6 +38,7 @@ import com.moral.service.AccountService; import com.moral.service.HistoryService; import com.moral.service.ProfessionService; +import com.moral.util.AQICalculation; @Service public class HistoryServiceImpl implements HistoryService { @@ -285,7 +287,7 @@ if (sensorUnits.containsKey(sensorKey)) { Map<String, Object> sensorUnit = (Map<String, Object>) sensorUnits.get(sensorKey); String rules = sensorUnit.get("rules").toString(); - rules = rules.replace("d", "").replace("{0}", "sensorKeyValue"); + rules = rules.replace("d", "").replace("{0}", "value"); Expression expression = AviatorEvaluator.compile(rules); Map<String, Object> env = new HashMap<String, Object>(); env.put("value", Double.valueOf(sensorKeyValue.toString())); @@ -339,4 +341,39 @@ return resultMap; } + + @Override + public Map<String, Object> gitHourlyAQIByMacAndTimeslot(Map<String, Object> parameters) { + String mac = parameters.get("mac").toString(); + //������������ + LocalDate localDate = LocalDate.now(); + Calendar c = Calendar.getInstance();//������������������������������������ + int endHour = c.get(Calendar.HOUR_OF_DAY); + String endTime = localDate+" "+endHour+":00:00"; + + String startTime; + if(endHour == 0) { + LocalDate startDate = localDate.minusDays(1); + startTime = startDate+" "+"23:00:00"; + }else { + int startHour = endHour-1; + startTime = localDate+" "+startHour+":00:00"; + } + Map<String, Object> map = historyMapper.getAVGValueByMacAndTimeslot(mac, startTime, endTime); + System.out.println(map); + Map<String, Object> returnMap = new HashMap<>(); + if (map.isEmpty()) { + returnMap.put("AQI", "N/V"); + } else { + Map<String, Double> AQIMap = new HashMap<>(); + for (Map.Entry<String, Object> entry : map.entrySet()) { + String key = entry.getKey(); + Double value = Double.parseDouble(entry.getValue().toString()); + AQIMap.put(key, value); + } + returnMap = AQICalculation.hourlyAQI(AQIMap); + } + + return returnMap; + } } -- Gitblit v1.8.0