From 4c890bb6132e5971d9ec8bdadf66f985f9ab92e9 Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Tue, 28 Dec 2021 14:00:25 +0800
Subject: [PATCH] screen-manage 改动公式刷新设备中因子的缓存
---
screen-api/src/main/java/com/moral/api/service/impl/CityAqiDailyServiceImpl.java | 91 +++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 91 insertions(+), 0 deletions(-)
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/CityAqiDailyServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/CityAqiDailyServiceImpl.java
index 29c0706..93b9cf5 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/CityAqiDailyServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/CityAqiDailyServiceImpl.java
@@ -1,6 +1,7 @@
package com.moral.api.service.impl;
import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.moral.api.entity.CityAqiDaily;
import com.moral.api.mapper.CityAqiDailyMapper;
@@ -185,5 +186,95 @@
return monthlyPollutionLevels;
}
+ @Override
+ public Map<String, Map<String,Object>> oneYearsData(Map map) {
+ int city_code = Integer.parseInt(map.get("cityCode").toString());
+ String year = map.get("year").toString();
+ String startTime = year+"-01-01 00:00:00";
+ String endTime = year+"-12-31 23:59:59";
+ QueryWrapper<CityAqiDaily> cityAqiDailyQueryWrapper = new QueryWrapper<>();
+ cityAqiDailyQueryWrapper.eq("city_code", city_code);
+ cityAqiDailyQueryWrapper.between("time",startTime,endTime);
+ List<CityAqiDaily> cityAqiDailies = cityAqiDailyMapper.selectList(cityAqiDailyQueryWrapper);
+ Map<String,Map<String,Object>> resultMap = new HashMap<>();
+ for (int i=1;i<13;i++){
+ Map<String, Object> monthMap = new HashMap<>();
+ String month = null;
+ if (i<10){
+ month = "0"+i;
+ }else {
+ month = String.valueOf(i);
+ }
+ String monthDate = year+"-"+month;
+ String monthFirstDay = year+"-"+month+"-01";
+ int monthDay = DateUtils.getMonthDay(monthFirstDay);
+ for (int j=1;j<monthDay+1;j++){
+ String day = null;
+ if (j<10){
+ day = "0"+j;
+ }else {
+ day = String.valueOf(j);
+ }
+ String dayDate = year+"-"+month+"-"+day;
+ monthMap.put(dayDate,null);
+ }
+ resultMap.put(monthDate,monthMap);
+ }
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ for (CityAqiDaily cityAqiDaily:cityAqiDailies) {
+ String time = sdf.format(cityAqiDaily.getTime());
+ String monthDate = time.substring(0,7);
+ String dayDate = time.substring(0,10);
+ Double PM2_5 = null;
+ Double PM10 = null;
+ Double SO2 = null;
+ Double NO2 = null;
+ Double CO = null;
+ Double O3 = null;
+ String primaryPollutant = null;
+ String AQI = null;
+ String value = cityAqiDaily.getValue();
+ JSONObject jsonObject = new JSONObject();
+ jsonObject = JSONObject.parseObject(value);
+ if (!ObjectUtils.isEmpty(jsonObject.get("PM2_5"))){
+ PM2_5 = (Double.parseDouble(jsonObject.get("PM2_5").toString()));
+ }
+ if (!ObjectUtils.isEmpty(jsonObject.get("PM10"))){
+ PM10 = (Double.parseDouble(jsonObject.get("PM10").toString()));
+ }
+ if (!ObjectUtils.isEmpty(jsonObject.get("SO2"))){
+ SO2 = (Double.parseDouble(jsonObject.get("SO2").toString()));
+ }
+ if (!ObjectUtils.isEmpty(jsonObject.get("NO2"))){
+ NO2 = (Double.parseDouble(jsonObject.get("NO2").toString()));
+ }
+ if (!ObjectUtils.isEmpty(jsonObject.get("CO"))){
+ CO = (Double.parseDouble(jsonObject.get("CO").toString()));
+ }
+ if (!ObjectUtils.isEmpty(jsonObject.get("O3"))){
+ O3 = (Double.parseDouble(jsonObject.get("O3").toString()));
+ }
+ if (!ObjectUtils.isEmpty(jsonObject.get("primaryPollutant"))){
+ primaryPollutant = jsonObject.get("primaryPollutant").toString();
+ }
+ if (!ObjectUtils.isEmpty(jsonObject.get("AQI"))){
+ AQI = jsonObject.get("AQI").toString();
+ }
+ Map<String,Object> valueMap = new HashMap<>();
+ valueMap.put("PM2_5",PM2_5);
+ valueMap.put("PM10",PM10);
+ valueMap.put("SO2",SO2);
+ valueMap.put("NO2",NO2);
+ valueMap.put("CO",CO);
+ valueMap.put("O3",O3);
+ valueMap.put("AQI",AQI);
+ valueMap.put("primaryPollutant",primaryPollutant);
+ Map<String,Object> monthMap = new HashMap<>();
+ monthMap = resultMap.get(monthDate);
+ monthMap.put(dayDate,valueMap);
+ resultMap.put(monthDate,monthMap);
+ }
+ return resultMap;
+ }
}
--
Gitblit v1.8.0