From 41863d2c44c03dca9f0bff4e3fad2be454362da0 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Fri, 24 Aug 2018 16:20:59 +0800
Subject: [PATCH] 霸屏页面 接口
---
src/main/java/com/moral/entity/charts/TimePeriod.java | 6 +
src/main/resources/mapper/DictionaryDataMapper.xml | 6
src/main/java/com/moral/mapper/DictionaryDataMapper.java | 1
src/main/resources/mapper/HangzhouAqiMapper.xml | 35 +++++
src/main/java/com/moral/service/HangzhouAqiService.java | 14 ++
src/main/java/com/moral/service/impl/DeviceServiceImpl.java | 41 ++++++
src/main/java/com/moral/service/DeviceService.java | 2
src/main/resources/mapper/HistoryMinutelyMapper.xml | 2
src/main/java/com/moral/entity/HangzhouAqi.java | 18 +++
src/main/java/com/moral/common/util/ReportTimeFormat.java | 60 ++++++++-
src/main/java/com/moral/service/MonitorPointService.java | 4
src/main/java/com/moral/controller/ScreenController.java | 27 ++++
src/main/java/com/moral/mapper/OrganizationMapper.java | 6 +
src/main/java/com/moral/service/impl/HangzhouAqiServiceImpl.java | 79 +++++++++++++
src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java | 24 ++-
src/main/java/com/moral/mapper/HangzhouAqiMapper.java | 14 ++
16 files changed, 313 insertions(+), 26 deletions(-)
diff --git a/src/main/java/com/moral/common/util/ReportTimeFormat.java b/src/main/java/com/moral/common/util/ReportTimeFormat.java
index 47aa811..8528d0e 100644
--- a/src/main/java/com/moral/common/util/ReportTimeFormat.java
+++ b/src/main/java/com/moral/common/util/ReportTimeFormat.java
@@ -10,13 +10,24 @@
import java.util.List;
public class ReportTimeFormat {
+ // ������mysql format���������java���format������������
+ public final static String YEAR_FORMAT = "yyyy";
+ public final static String MONTH_FORMAT = "yyyy-MM";
+ public final static String DAY_FORMAT = "yyyy-MM-dd";
+ public final static String HOUR_FORMAT = "yyyy-MM-dd/HH";
+ public final static String MINUTE_FORMAT = "yyyy-MM-dd/HH:mm";
+ public final static String YEAR_FORMAT_OF_MYSQL = "%Y";
+ public final static String MONTH_FORMAT_OF_MYSQL = "%Y-%m";
+ public final static String DAY_FORMAT_OF_MYSQL = "%Y-%m-%d";
+ public final static String HOUR_FORMAT_OF_MYSQL = "%Y-%m-%d/%H";
+ public final static String MINUTE_FORMAT_OF_MYSQL = "%Y-%m-%d/%H:%i";
public static String toMySqlTimeFormat(TimeUnits timeUnits){
switch (timeUnits){
- case YEAR: return "%Y";
- case MONTH: return "%Y-%m";
- case DAY: return "%Y-%m-%d";
- case HOUR: return "%Y-%m-%d/%H";
- case MINUTE:return "%Y-%m-%d/%H:%i";
+ case YEAR: return YEAR_FORMAT_OF_MYSQL;
+ case MONTH: return MONTH_FORMAT_OF_MYSQL;
+ case DAY: return DAY_FORMAT_OF_MYSQL;
+ case HOUR: return HOUR_FORMAT_OF_MYSQL;
+ case MINUTE:return MINUTE_FORMAT_OF_MYSQL;
}
return "%Y-%m-%d%H:%i:%s";
}
@@ -30,6 +41,12 @@
}
return "%s";
}
+
+ /**
+ * ������ ������������������ ������������
+ * @param timePeriod
+ * @return
+ */
public static List<String> makeTimeList(TimePeriod timePeriod){
Calendar start = Calendar.getInstance();
start.setTime(timePeriod.getStartTime());
@@ -39,15 +56,15 @@
String formatStyle = "";
int timeUnit = 0;
switch (timePeriod.getTimeUnits()){
- case YEAR: formatStyle ="yyyy";
+ case YEAR: formatStyle = YEAR_FORMAT;
timeUnit = Calendar.YEAR;break;
- case MONTH: formatStyle ="yyyy-MM";
+ case MONTH: formatStyle =MONTH_FORMAT;
timeUnit = Calendar.MONTH;break;
- case DAY: formatStyle ="yyyy-MM-dd";
+ case DAY: formatStyle =DAY_FORMAT;
timeUnit = Calendar.DAY_OF_YEAR;break;
- case HOUR: formatStyle ="yyyy-MM-dd/HH";
+ case HOUR: formatStyle =HOUR_FORMAT;
timeUnit = Calendar.HOUR;break;
- case MINUTE: formatStyle ="yyyy-MM-dd/HH:mm";
+ case MINUTE: formatStyle =MINUTE_FORMAT;
timeUnit = Calendar.MINUTE;break;
}
do{
@@ -58,6 +75,29 @@
while (start.getTimeInMillis()<end.getTimeInMillis());
return timeList;
}
+
+ /**
+ * ������������������
+ * @param date ���������������
+ * @param timeUnits ������������������������������������������
+ * @param amount ������������������������������������
+ * @return
+ */
+ public static Date dateCalc(Date date,TimeUnits timeUnits,Integer amount) {
+ Calendar rightNow = Calendar.getInstance();
+ rightNow.setTime(date);
+ rightNow.add(toCalendarTimeUnit(timeUnits), amount);
+ return rightNow.getTime();
+ }
+ private static int toCalendarTimeUnit(TimeUnits timeUnits) {
+ switch (timeUnits) {
+ case YEAR: return Calendar.YEAR;
+ case MONTH: return Calendar.MONTH;
+ case DAY: return Calendar.DAY_OF_YEAR;
+ case HOUR: return Calendar.HOUR;
+ default: return Calendar.MINUTE;
+ }
+ }
/**"yyyy-MM-dd hh:mm:ss"
* ������������date���������������������������������������������
* @param date
diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java
index 85ca2b6..48888a9 100644
--- a/src/main/java/com/moral/controller/ScreenController.java
+++ b/src/main/java/com/moral/controller/ScreenController.java
@@ -126,7 +126,7 @@
Object orgId = resultMap.get("orgId");
if(resultMap.get("orgId")!=null && resultMap.get("orgId") instanceof Integer) {
StringBuilder areaNamesBuilder = new StringBuilder("������");
- if((Integer) orgId != dictionaryDataService.querySupperOrgId()) {
+ if(!((Integer) orgId).equals(dictionaryDataService.querySupperOrgId())) {
Organization organization = organizationService.getOrganizationById((Integer) orgId);
if(organization.getAreaNames()!=null){
AreaNames areaNames = organization.getAreaNames();
@@ -673,4 +673,29 @@
MonitorPoint monitorPoint = monitorPointService.queryMonitorPointById(monitorPointId);
return new ResultBean<>(monitorPoint);
}
+ @Resource
+ HangzhouAqiService hangzhouAqiService;
+ @GetMapping("aqi24hours")
+ @ApiOperation(value = "������24������aqi������", notes = "������24������������aqi������")
+ @ApiImplicitParams(value = {
+ @ApiImplicitParam(name = "orgid",defaultValue = "5",value = "������id", required = true, paramType = "query", dataType = "Integer"),
+ })
+ public ResultBean<List<Map>> getAqi24HoursNC(@RequestParam("orgid") Integer organizationId) {
+ return new ResultBean<>(hangzhouAqiService.queryAqi24Hours(organizationId));
+ }
+ @GetMapping("mpt-dev-summary")
+ @ApiOperation(value = "���������������������������������", notes = "���������������������������������")
+ @ApiImplicitParams(value = {
+ @ApiImplicitParam(name = "orgid",defaultValue = "5",value = "������id", required = true, paramType = "query", dataType = "Integer"),
+ })
+ public ResultBean<Map> getMptAndDevSummary(@RequestParam("orgid") Integer organizationId){
+ Map<String,Map> result = new HashMap<>(2);
+ Integer mptCount = monitorPointService.countOfSubOrgs(organizationId);
+ Map monitorPointSummary = new HashMap();
+ monitorPointSummary.put("all",mptCount);
+ Map deviceSummary = deviceService.queryDeviceStateSummary(organizationId);
+ result.put("monitorPoint",monitorPointSummary);
+ result.put("device",deviceSummary);
+ return new ResultBean<>(result);
+ }
}
diff --git a/src/main/java/com/moral/entity/HangzhouAqi.java b/src/main/java/com/moral/entity/HangzhouAqi.java
new file mode 100644
index 0000000..56c9291
--- /dev/null
+++ b/src/main/java/com/moral/entity/HangzhouAqi.java
@@ -0,0 +1,18 @@
+package com.moral.entity;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class HangzhouAqi {
+ private Date time;
+
+ private Object aqiJson;
+
+ private String cityCode;
+
+ public Date getTime() {
+ return time;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/moral/entity/charts/TimePeriod.java b/src/main/java/com/moral/entity/charts/TimePeriod.java
index aec4a62..44c0a8f 100644
--- a/src/main/java/com/moral/entity/charts/TimePeriod.java
+++ b/src/main/java/com/moral/entity/charts/TimePeriod.java
@@ -6,6 +6,12 @@
@Data
public class TimePeriod {
+ public TimePeriod (Date startTime,Date endTime,TimeUnits timeUnits)
+ {
+ this.startTime = startTime;
+ this.endTime = endTime;
+ this.timeUnits = timeUnits;
+ }
private TimeUnits timeUnits;//������������
private Date startTime;//������������
private Date endTime;//������������
diff --git a/src/main/java/com/moral/mapper/DictionaryDataMapper.java b/src/main/java/com/moral/mapper/DictionaryDataMapper.java
index 0bb1798..f1720de 100644
--- a/src/main/java/com/moral/mapper/DictionaryDataMapper.java
+++ b/src/main/java/com/moral/mapper/DictionaryDataMapper.java
@@ -6,4 +6,5 @@
public interface DictionaryDataMapper extends BaseMapper<DictionaryData> {
public Integer selectSupperOrgId();
+ public boolean isSupperOrgId(Integer orgId);
}
\ No newline at end of file
diff --git a/src/main/java/com/moral/mapper/HangzhouAqiMapper.java b/src/main/java/com/moral/mapper/HangzhouAqiMapper.java
new file mode 100644
index 0000000..e4e263c
--- /dev/null
+++ b/src/main/java/com/moral/mapper/HangzhouAqiMapper.java
@@ -0,0 +1,14 @@
+package com.moral.mapper;
+
+import com.moral.common.mapper.BaseMapper;
+import com.moral.entity.HangzhouAqi;
+import com.moral.entity.charts.TimePeriod;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+public interface HangzhouAqiMapper extends BaseMapper<HangzhouAqi> {
+ public List<Map> selectAqisByCodeAndTimePeriod(@Param("code")String code,@Param("timePeriod") TimePeriod timePeriod);
+}
\ No newline at end of file
diff --git a/src/main/java/com/moral/mapper/OrganizationMapper.java b/src/main/java/com/moral/mapper/OrganizationMapper.java
index 0bf3158..56c73bb 100644
--- a/src/main/java/com/moral/mapper/OrganizationMapper.java
+++ b/src/main/java/com/moral/mapper/OrganizationMapper.java
@@ -10,5 +10,11 @@
public interface OrganizationMapper extends BaseMapper<Organization> {
List<Organization> selectWithAreaNameByExample(Example example);
List<Organization> getOrganizationsByAreaName(Map<String, Object> parameters);
+
+ /**
+ * ���������������������������������id���������id���������0
+ * @param orgId
+ * @return
+ */
List<Integer> selectLowerOrgIds(Integer orgId);
}
\ No newline at end of file
diff --git a/src/main/java/com/moral/service/DeviceService.java b/src/main/java/com/moral/service/DeviceService.java
index e76912f..9f29d35 100644
--- a/src/main/java/com/moral/service/DeviceService.java
+++ b/src/main/java/com/moral/service/DeviceService.java
@@ -44,4 +44,6 @@
List<Device> getDevicesByProfessionId(Map<String, Object> parameters);
List<Device> getDevicesByOrganizationId(Map<String, Object> parameters);
+
+ Map<String,Long> queryDeviceStateSummary(Integer orgId);
}
diff --git a/src/main/java/com/moral/service/HangzhouAqiService.java b/src/main/java/com/moral/service/HangzhouAqiService.java
new file mode 100644
index 0000000..2138803
--- /dev/null
+++ b/src/main/java/com/moral/service/HangzhouAqiService.java
@@ -0,0 +1,14 @@
+package com.moral.service;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Auther: fengxiang
+ * @Date: 2018/8/24 10:30
+ * @Description: ������api������������
+ */
+public interface HangzhouAqiService {
+ public List<Map> queryAqi24Hours(@NotNull Integer orgId);
+}
diff --git a/src/main/java/com/moral/service/MonitorPointService.java b/src/main/java/com/moral/service/MonitorPointService.java
index 4328dc4..ad0afe4 100644
--- a/src/main/java/com/moral/service/MonitorPointService.java
+++ b/src/main/java/com/moral/service/MonitorPointService.java
@@ -23,7 +23,9 @@
List<MonitorPoint> getMonitorPointsByName(String name);
List<Map<String,String>> queryMonitroPointsState(List<Integer> idList);
- List<MonitorPoint> getMonitorPointsByOrganizationId(Integer orgId);
+ Integer countOfSubOrgs(Integer orgId);
+
+ List<MonitorPoint> getMonitorPointsByOrganizationId(Integer orgId);
List<MonitorPoint> getMonitorPointsByRegion(Map<String, Object> parameters);
diff --git a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
index 264ed65..345dceb 100644
--- a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
@@ -4,6 +4,7 @@
import java.util.stream.Collectors;
import javax.annotation.Resource;
+import javax.validation.constraints.NotNull;
import com.alibaba.fastjson.TypeReference;
import com.github.pagehelper.Page;
@@ -14,9 +15,7 @@
import com.moral.common.util.ExampleUtil;
import com.moral.common.util.RedisUtils;
import com.moral.entity.DeviceVersion;
-import com.moral.mapper.DeviceVersionMapper;
-import com.moral.mapper.MonitorPointMapper;
-import com.moral.mapper.OrganizationMapper;
+import com.moral.mapper.*;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.commons.lang3.StringUtils;
@@ -28,7 +27,6 @@
import com.github.pagehelper.PageHelper;
import com.moral.common.util.ValidateUtil;
import com.moral.entity.Device;
-import com.moral.mapper.DeviceMapper;
import com.moral.service.AccountService;
import com.moral.service.DeviceService;
import tk.mybatis.mapper.entity.Example;
@@ -64,6 +62,10 @@
DeviceVersionMapper deviceVersionMapper;
@Resource
RedisUtils redisUtils;
+ @Resource
+ OrganizationMapper organizationMapper;
+ @Resource
+ DictionaryDataMapper dictionaryDataMapper;
@Override
public Map<String, Object> getDeviceStatesByAccount(Map<String, Object> parameters) {
ValidateUtil.notNull(parameters.get("accountId"), "param.is.null");
@@ -479,5 +481,34 @@
ValidateUtil.notNull(parameters.get("organizationId"), "param.is.null");
return deviceMapper.getDevicesByOrganizationId(parameters);
}
-
+ @Override
+ public Map<String,Long> queryDeviceStateSummary(@NotNull Integer orgId){
+ Map<String,Object> params = new HashMap<>();
+ if(!dictionaryDataMapper.isSupperOrgId(orgId)){
+ List<Integer> orgIds = organizationMapper.selectLowerOrgIds(orgId);
+ params.put("orgIds",orgIds);
+ }
+ List<Map<String, Object>> list = deviceMapper.getDeviceStatesByAccount(params);
+ Long all = 0L, normal = 0L, abnormal = 0L, stop = 0L;
+ for (Map<String, Object> map : list) {
+ Long count = (Long) map.get("count");
+ all += count;
+ switch (Integer.valueOf((String) map.get("state"))) {
+ case 0:
+ normal = count;
+ break;
+ case 4:
+ stop = count;
+ break;
+ default:
+ abnormal += count;
+ }
+ }
+ Map<String,Long> result = new HashMap<>();
+ result.put("all", all);
+ result.put("normal", normal);
+ result.put("abnormal", abnormal);
+ result.put("stop", stop);
+ return result;
+ }
}
diff --git a/src/main/java/com/moral/service/impl/HangzhouAqiServiceImpl.java b/src/main/java/com/moral/service/impl/HangzhouAqiServiceImpl.java
new file mode 100644
index 0000000..1e2b781
--- /dev/null
+++ b/src/main/java/com/moral/service/impl/HangzhouAqiServiceImpl.java
@@ -0,0 +1,79 @@
+package com.moral.service.impl;
+
+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
+ * @Date: 2018/8/24 10:32
+ * @Description:������api���������������
+ */
+@Service
+public class HangzhouAqiServiceImpl implements HangzhouAqiService{
+ @Resource
+ private OrganizationMapper organizationMapper;
+ @Resource
+ private HangzhouAqiMapper hangzhouAqiMapper;
+ /**
+ * ������������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);
+ Date start = ReportTimeFormat.dateCalc(new Date(), TimeUnits.HOUR,-24);
+ Date end = new Date();
+ 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);
+ List<String> timeList = ReportTimeFormat.makeTimeList(timePeriod);
+ if(aqis!=null && aqis.size()==0 && !isGetCity) {
+ return queryAqi24Hours(orgId,true);
+ }
+ int mTemp = 0;
+ for(int n =0;n<timeList.size();n++) {
+ String time = timeList.get(n);
+ Object aqiValue = null;
+ for(int m =mTemp;m<aqis.size();m++) {
+ Map<String,Object> rowData = aqis.get(m);
+ Object dbTime = rowData.get("time");
+ if(time.equals(dbTime)){
+ mTemp = m+1;
+ aqiValue = rowData.get("aqi");
+ }
+ }
+ Map<String,Object> aqiItem = new HashMap<>();
+ aqiItem.put("time",time);
+ aqiValue = aqiValue!=null?Float.valueOf(aqiValue.toString().replace("\"","")):null;
+ aqiItem.put("aqi",aqiValue);
+ aqi24HoursValues.add(aqiItem);
+ }
+ return aqi24HoursValues;
+ }
+ private Integer getCode(Integer orgId,boolean isGetCityCode)
+ {
+ Organization org = organizationMapper.selectByPrimaryKey(orgId);
+ if(isGetCityCode) {
+ return org.getCityCode();
+ }else{
+ return org.getAreaCode()!=null? org.getAreaCode() : org.getCityCode();
+ }
+ }
+}
diff --git a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java
index 78c626f..e79b10e 100644
--- a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java
@@ -8,6 +8,8 @@
import java.util.stream.Collectors;
import javax.annotation.Resource;
+import javax.validation.constraints.NotNull;
+
import com.moral.mapper.DictionaryDataMapper;
import com.moral.mapper.OrganizationMapper;
import org.apache.commons.collections.CollectionUtils;
@@ -83,13 +85,6 @@
public PageBean queryByPageBean(PageBean pageBean) {
Example example = ExampleUtil.generateExample(ENTITY_CLASS,pageBean);
List<Example.Criteria> criteriaList = example.getOredCriteria();
- if(criteriaList!=null&&criteriaList.size()>0){
- for(Example.Criteria cri : criteriaList){
- cri.andNotEqualTo("isDelete", Constants.IS_DELETE_TRUE);
- }
- }else {
- example.or().andNotEqualTo("isDelete",Constants.IS_DELETE_TRUE);
- }
PageHelper.startPage(pageBean.getPageIndex(),pageBean.getPageSize());
List<MonitorPoint> monitorPointList = monitorPointMapper.selectWithAreaNameByExample(example);
return new PageBean(monitorPointList);
@@ -214,6 +209,21 @@
return list;
}
+ /**
+ * ������������������������������������
+ * @param orgId
+ * @return
+ */
+ @Override
+ public Integer countOfSubOrgs(@NotNull Integer orgId){
+ Example example = new Example(ENTITY_CLASS);
+ //���������������������������
+ if(!dictionaryDataMapper.isSupperOrgId(orgId)){
+ List<Integer> orgIds = orgMapper.selectLowerOrgIds(orgId);
+ example.or().andIn("organizationId",orgIds);
+ }
+ return monitorPointMapper.selectCountByExample(example);
+ }
@Override
public List<MonitorPoint> getMonitorPointsByOrganizationId(Integer orgId) {
Example example = new Example(MonitorPoint.class);
diff --git a/src/main/resources/mapper/DictionaryDataMapper.xml b/src/main/resources/mapper/DictionaryDataMapper.xml
index 67efb58..9e18298 100644
--- a/src/main/resources/mapper/DictionaryDataMapper.xml
+++ b/src/main/resources/mapper/DictionaryDataMapper.xml
@@ -16,8 +16,12 @@
id, dict_id, dict_data_key, dict_data_name, dict_data_value, is_fixed, is_delete,
parent_id, description
</sql>
- <select id="selectSupperOrgId" parameterType="java.lang.String" resultType="java.lang.Integer">
+ <select id="selectSupperOrgId" resultType="java.lang.Integer">
select dict_data_value from dictionary_data
where dict_data_key = 'auth_config_super_org'
</select>
+ <select id="isSupperOrgId" resultType="java.lang.Boolean">
+ select count(*) from dictionary_data
+ where dict_data_key = 'auth_config_super_org' and dict_data_value = #{orgId,jdbcType=INTEGER}
+ </select>
</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/HangzhouAqiMapper.xml b/src/main/resources/mapper/HangzhouAqiMapper.xml
new file mode 100644
index 0000000..75d5c97
--- /dev/null
+++ b/src/main/resources/mapper/HangzhouAqiMapper.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.moral.mapper.HangzhouAqiMapper" >
+ <resultMap id="BaseResultMap" type="com.moral.entity.HangzhouAqi" >
+ <id column="time" property="time" jdbcType="TIMESTAMP" />
+ <result column="aqi_json" property="aqiJson" jdbcType="OTHER" />
+ <result column="city_code" property="cityCode" jdbcType="VARCHAR" />
+ </resultMap>
+ <sql id="Base_Column_List" >
+ time, aqi_json, city_code
+ </sql>
+ <!--<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.util.Date" >-->
+ <!--select-->
+ <!--<include refid="Base_Column_List" />-->
+ <!--from hangzhou_aqi-->
+ <!--where time = #{time,jdbcType=TIMESTAMP}-->
+ <!--</select>-->
+ <select id="selectAqisByCodeAndTimePeriod" resultType="map" parameterType="java.util.Date" >
+ select
+ aqi_json->'$.AQI' as aqi,DATE_FORMAT(time,'${@com.moral.common.util.ReportTimeFormat@toMySqlTimeFormat(timePeriod.timeUnits)}') as 'time'
+ from hangzhou_aqi
+ where
+ (
+ time >= #{timePeriod.startTime}
+ and time <![CDATA[<=]]> #{timePeriod.endTime}
+ )
+ and
+ (
+ city_code = #{code}
+ or
+ aqi_json->'$.city_code' = #{code}
+ )
+ order by time asc
+ </select>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/HistoryMinutelyMapper.xml b/src/main/resources/mapper/HistoryMinutelyMapper.xml
index 1509a27..d9c4cd8 100644
--- a/src/main/resources/mapper/HistoryMinutelyMapper.xml
+++ b/src/main/resources/mapper/HistoryMinutelyMapper.xml
@@ -31,7 +31,7 @@
AND time < #{end}
</select>
- <select id="getMonitorPointOrDeviceAvgData" resultType="java.util.LinkedHashMap">
+ <select id="getMonitorPointOrDeviceAvgData" resultType="java.util.Map">
SELECT
DATE_FORMAT(time, #{typeFormat}) time
<foreach collection="sensorKeys" open="," separator="," item="sensorKey">
--
Gitblit v1.8.0