From 4bf0125f2cbc291b763a3c0a83629a470189a771 Mon Sep 17 00:00:00 2001
From: ZhuDongming <773644075@qq.com>
Date: Tue, 30 Jul 2019 16:34:18 +0800
Subject: [PATCH] 更新重合点逻辑及多点重合显示方式
---
src/main/java/com/moral/service/impl/HangzhouAqiServiceImpl.java | 67 +++++++++++++++++++++++----------
1 files changed, 46 insertions(+), 21 deletions(-)
diff --git a/src/main/java/com/moral/service/impl/HangzhouAqiServiceImpl.java b/src/main/java/com/moral/service/impl/HangzhouAqiServiceImpl.java
index 0403039..4ae4086 100644
--- a/src/main/java/com/moral/service/impl/HangzhouAqiServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/HangzhouAqiServiceImpl.java
@@ -1,17 +1,23 @@
package com.moral.service.impl;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
+
import com.moral.common.exception.BusinessException;
-import com.moral.common.util.ReportTimeFormat;
import com.moral.entity.Organization;
import com.moral.entity.charts.TimePeriod;
-import com.moral.entity.charts.TimeUnits;
import com.moral.mapper.HangzhouAqiMapper;
import com.moral.mapper.OrganizationMapper;
import com.moral.service.HangzhouAqiService;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import java.util.*;
/**
* @Auther: fengxiang
@@ -24,29 +30,30 @@
private OrganizationMapper organizationMapper;
@Resource
private HangzhouAqiMapper hangzhouAqiMapper;
+
+ public List<Map> queryAqiOfTimePeriod(String code,TimePeriod timePeriod) {
+ return hangzhouAqiMapper.selectAqisByCodeAndTimePeriod(code,timePeriod);
+ }
/**
* ������������id������������24������������aqi������
* @param orgId
* @return ���������������24���������������������������������������0
*/
- @Override
- public List<Map> queryAqi24Hours(Integer orgId){
- return queryAqi24Hours(orgId,false);
- }
- private List<Map> queryAqi24Hours(Integer orgId,boolean isGetCity) {
- List<Map> aqi24HoursValues = new ArrayList<>(24);
+ @SuppressWarnings("serial")
+ @Override
+ public List<Map<String, Object>> queryAqi24Hours(Integer orgId) {
+ List<Map<String, Object>> aqi24HoursValues = new ArrayList<>(24);
+/*
Date now = ReportTimeFormat.getFormatDate(ReportTimeFormat.HOUR_FORMAT);
Date start = ReportTimeFormat.dateCalc(now, TimeUnits.HOUR,-24);
Date end = ReportTimeFormat.dateCalc(now, TimeUnits.MILLISECOND,-1);;
TimePeriod timePeriod = new TimePeriod(start,end,TimeUnits.HOUR);
- Integer code = getCode(orgId,isGetCity);
- if(code == null) {
- throw new BusinessException("citeCode or areaCode is null;");
- }
- List<Map> aqis = hangzhouAqiMapper.selectAqisByCodeAndTimePeriod(code.toString(),timePeriod);
+ Integer code = getCode(orgId,false);
+ List<Map> aqis = queryAqiOfTimePeriod(code.toString(),timePeriod);
List<String> timeList = ReportTimeFormat.makeTimeList(timePeriod);
- if(aqis!=null && aqis.size()==0 && !isGetCity) {
- return queryAqi24Hours(orgId,true);
+ if(CollectionUtils.isEmpty(aqis)) {
+ code = getCode(orgId,true);
+ aqis = queryAqiOfTimePeriod(code.toString(),timePeriod);
}
int mTemp = 0;
for(int n =0;n<timeList.size();n++) {
@@ -66,15 +73,33 @@
aqiItem.put("aqi",aqiValue);
aqi24HoursValues.add(aqiItem);
}
+*/
+ Organization organization = organizationMapper.selectByPrimaryKey(orgId);
+
+ Map<String, Object> parameters = new HashMap<String, Object>(){{
+ put("end", LocalDateTime.now());
+ put("cityCode", organization.getAreaCode());
+ }};
+ aqi24HoursValues = hangzhouAqiMapper.getAqisByOrganizationId(parameters);
+ if (ObjectUtils.isEmpty(aqi24HoursValues)) {
+ parameters.put("cityCode", organization.getCityCode());
+ aqi24HoursValues = hangzhouAqiMapper.getAqisByOrganizationId(parameters);
+ }
+ Collections.reverse(aqi24HoursValues);
return aqi24HoursValues;
}
private Integer getCode(Integer orgId,boolean isGetCityCode)
{
Organization org = organizationMapper.selectByPrimaryKey(orgId);
+ Integer code = null;
if(isGetCityCode) {
- return org.getCityCode();
+ code = org.getCityCode();
}else{
- return org.getAreaCode()!=null? org.getAreaCode() : org.getCityCode();
+ code = org.getAreaCode();
}
+ if(code == null) {
+ throw new BusinessException("citeCode or areaCode is null;");
+ }
+ return code;
}
}
--
Gitblit v1.8.0