From 7a52cd14e12e5b1053a26ed5a4799da7a09d4b16 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Tue, 24 Jul 2018 11:51:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/main/java/com/moral/controller/DemoConreoller.java |   43 ++++++++++++++++++++-
 src/main/resources/system/sysConfig.properties         |    2 
 src/main/java/com/moral/mapper/DemoMapper.java         |    2 
 src/main/resources/mapper/DemoMapper.xml               |   17 ++++++++
 4 files changed, 59 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/moral/controller/DemoConreoller.java b/src/main/java/com/moral/controller/DemoConreoller.java
index dfd14a8..b4e04d9 100644
--- a/src/main/java/com/moral/controller/DemoConreoller.java
+++ b/src/main/java/com/moral/controller/DemoConreoller.java
@@ -1,22 +1,28 @@
 package com.moral.controller;
 
 import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.time.temporal.TemporalAdjusters;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 
+import org.apache.commons.lang3.time.DateUtils;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.moral.common.util.WebUtils;
 import com.moral.mapper.AlarmDailyMapper;
 import com.moral.mapper.DemoMapper;
@@ -32,8 +38,10 @@
 	private AlarmDailyMapper alarmDailyMapper;
 
 	@GetMapping("list")
-	public List<Map<String, Object>> getDatas(){
-		List<Map<String, Object>> list = demoMapper.getDatas();
+	public List<Map<String, Object>> getDatas(HttpServletRequest request){
+		Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null);
+		parameters.put("size", Integer.valueOf(parameters.get("size").toString()));
+		List<Map<String, Object>> list = demoMapper.getDatas(parameters);
 		Collections.sort(list, new Comparator<Map<String, Object>>() {
 			@Override
 			public int compare(Map<String, Object> o1, Map<String, Object> o2) {
@@ -59,4 +67,35 @@
 		});
 		return alarmData;
 	}
+	
+	@GetMapping("compare")
+	public List<Map<String, Object>> getCompareDatas(HttpServletRequest request){
+		List<Map<String, Object>> thisMonth = getDatas(request);
+		List<Date> timeList = new ArrayList<Date>();
+		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd���HH���");
+		for (Map<String, Object> map : thisMonth) {
+			timeList.add(DateUtils.addMonths((Date)map.get("time"), -1));
+			JSONObject json = JSON.parseObject(map.remove("aqi_json").toString());
+			map.put("this_month_PM2_5",json.get("PM2_5"));
+			map.put("this_month_PM10",json.get("PM10"));
+			map.put("format_time", simpleDateFormat.format((Date)map.get("time")));
+		}
+		Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("timeList", timeList);
+		List<Map<String, Object>> lastMonth = demoMapper.getDatas(parameters);
+		for (Map<String, Object> map : thisMonth) {
+			String formatTime = map.get("format_time").toString();
+			for (Map<String, Object> last : lastMonth) {
+				if (formatTime.equals(simpleDateFormat.format((Date)last.get("time")))) {
+					JSONObject json = JSON.parseObject(last.remove("aqi_json").toString());
+					map.put("last_month_PM2_5",json.get("PM2_5"));
+					map.put("last_month_PM10",json.get("PM10"));
+					lastMonth.remove(last);
+					break;
+				}
+			}
+		}
+		return thisMonth;
+	}
+
 }
diff --git a/src/main/java/com/moral/mapper/DemoMapper.java b/src/main/java/com/moral/mapper/DemoMapper.java
index 7f4c4fb..179192d 100644
--- a/src/main/java/com/moral/mapper/DemoMapper.java
+++ b/src/main/java/com/moral/mapper/DemoMapper.java
@@ -4,5 +4,5 @@
 import java.util.Map;
 
 public interface DemoMapper {
-	List<Map<String, Object>> getDatas();
+	List<Map<String, Object>> getDatas(Map<String, Object> parameters);
 }
\ No newline at end of file
diff --git a/src/main/resources/mapper/DemoMapper.xml b/src/main/resources/mapper/DemoMapper.xml
index 3ab8c7a..8dba101 100644
--- a/src/main/resources/mapper/DemoMapper.xml
+++ b/src/main/resources/mapper/DemoMapper.xml
@@ -2,6 +2,21 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
 <mapper namespace="com.moral.mapper.DemoMapper">
 	<select id="getDatas" resultType="map">
-		SELECT * FROM hangzhou_aqi ORDER BY time DESC LIMIT 7
+		SELECT *
+		FROM hangzhou_aqi
+		<where>
+			<if test="timeList != null and timeList.size &gt; 0">
+				time IN
+				<foreach collection="timeList" open="(" separator="," close=")"
+					item="listItem">
+					#{listItem}
+				</foreach>
+			</if>
+		</where>
+		ORDER BY time
+		<if test="size != null">
+			DESC 
+			LIMIT #{size}
+		</if>
 	</select>
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/system/sysConfig.properties b/src/main/resources/system/sysConfig.properties
index 0f6e6b7..93e5058 100644
--- a/src/main/resources/system/sysConfig.properties
+++ b/src/main/resources/system/sysConfig.properties
@@ -27,5 +27,5 @@
 e19-standard=50
 orgId=5
 password=123456
-noFilters=/**/*.css,/**/*.json,/alarm/**,/screen/**,/**/*.jsp,/**/*.js,/**/*.gif,/**/*.png,/**/*.ico,/**/*.html,/**/*.map,/machineactivate/**,/device/**,/sensor/**,/mobile/**,/page/**,/swagger*/**,/v2/**,/webjars/**
+noFilters=/**/*.css,/**/*.json,/alarm/**,/screen/**,/**/*.jsp,/**/*.js,/**/*.gif,/**/*.png,/**/*.ico,/**/*.html,/**/*.map,/machineactivate/**,/device/**,/sensor/**,/mobile/**,/page/**,/swagger*/**,/v2/**,/webjars/**,/demo/**
 specialOrgIds=5
\ No newline at end of file

--
Gitblit v1.8.0