From 04167f529701b8a88ef52ba7ae854f444347f72c Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Mon, 30 Jul 2018 14:46:18 +0800
Subject: [PATCH] stringToDate 类 更新优化
---
src/main/java/com/moral/controller/DemoConreoller.java | 15 +++++++++++++++
src/main/java/com/moral/mapper/DemoMapper.java | 4 ++++
src/main/java/com/moral/common/convert/StringToDateConverter.java | 13 +++++--------
src/main/resources/mapper/DemoMapper.xml | 14 ++++++++++++++
src/main/java/com/moral/common/util/StringUtils.java | 12 +++++++++++-
5 files changed, 49 insertions(+), 9 deletions(-)
diff --git a/src/main/java/com/moral/common/convert/StringToDateConverter.java b/src/main/java/com/moral/common/convert/StringToDateConverter.java
index 0a4fb68..0b16948 100644
--- a/src/main/java/com/moral/common/convert/StringToDateConverter.java
+++ b/src/main/java/com/moral/common/convert/StringToDateConverter.java
@@ -9,15 +9,15 @@
import java.util.Date;
/**
- * ������������������������������
- * @author byshome
- * @version $Id: StringToDateConverter.java, v 0.1 2015���9���24��� ������7:19:41 byshome Exp $
+ *
+ * ������������������������������:
+ * @author: fengxiang
+ * @date: 2018/7/30 14:40
*/
public class StringToDateConverter implements Converter<String, Date> {
private static Logger log = Logger.getLogger(StringToDateConverter.class);
private static final String dateFormat = "yyyy-MM-dd HH:mm:ss";
-// private static final String shortDateFormat = "yyyy-MM-dd";
- private static SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormat);
+ private static SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormat);
/**
* @see org.springframework.core.convert.converter.Converter#convert(java.lang.Object)
*/
@@ -26,9 +26,6 @@
try {
if(StringUtils.isNullOrEmpty(source)){
throw new BusinessException(String.format("parser %s to Date fail", source));
- }
- if("null".equals(source)){
- return null;
}
if(StringUtils.isNumericZidai(source)) {
source = source.length() == 10 ? source+"000" : source;
diff --git a/src/main/java/com/moral/common/util/StringUtils.java b/src/main/java/com/moral/common/util/StringUtils.java
index 80635bf..e4043f1 100644
--- a/src/main/java/com/moral/common/util/StringUtils.java
+++ b/src/main/java/com/moral/common/util/StringUtils.java
@@ -1,11 +1,21 @@
package com.moral.common.util;
+import com.mysql.jdbc.TimeUtil;
+
+import javax.validation.constraints.NotNull;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
+/**
+ *
+ * ������������: string ���������
+ * @author: fengxiang
+ * @date: 2018/7/30 10:53
+ */
public class StringUtils {
public static final char UNDERLINE = '_';
+ public static final String NULL = "null";
/**
* ������������������������������������������������������
@@ -44,7 +54,7 @@
return sb.toString();
}
public static boolean isNullOrEmpty(String toTest) {
- return toTest == null || toTest.length() == 0;
+ return toTest == null || toTest.length() == 0 || NULL.equals(toTest);
}
public static Object stringToObject4Type(Class<?> type,String value) throws Exception{
Object result = value;
diff --git a/src/main/java/com/moral/controller/DemoConreoller.java b/src/main/java/com/moral/controller/DemoConreoller.java
index b4e04d9..5b2470a 100644
--- a/src/main/java/com/moral/controller/DemoConreoller.java
+++ b/src/main/java/com/moral/controller/DemoConreoller.java
@@ -27,6 +27,7 @@
import com.moral.mapper.AlarmDailyMapper;
import com.moral.mapper.DemoMapper;
+
@RestController
@RequestMapping("demo")
public class DemoConreoller {
@@ -98,4 +99,18 @@
return thisMonth;
}
+ /**
+ *
+ * ������������:
+ *
+ * @param: startTime ������������
+ * @param: endTime ������������
+ * @return:
+ * @author: fengxiang
+ * @date: 2018/7/30 11:27
+ */
+ @GetMapping("get-dayaqis")
+ public List<Map<String, Object>> getDayAqis(Date startTime,Date endTime) {
+ return demoMapper.selectByTimeZones(startTime,endTime);
+ }
}
diff --git a/src/main/java/com/moral/mapper/DemoMapper.java b/src/main/java/com/moral/mapper/DemoMapper.java
index 179192d..135e128 100644
--- a/src/main/java/com/moral/mapper/DemoMapper.java
+++ b/src/main/java/com/moral/mapper/DemoMapper.java
@@ -1,8 +1,12 @@
package com.moral.mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Date;
import java.util.List;
import java.util.Map;
public interface DemoMapper {
List<Map<String, Object>> getDatas(Map<String, Object> parameters);
+ List<Map<String, Object>> selectByTimeZones(@Param("startTime") Date startTime,@Param("endTime") Date endTime);
}
\ No newline at end of file
diff --git a/src/main/resources/mapper/DemoMapper.xml b/src/main/resources/mapper/DemoMapper.xml
index 8dba101..5d37761 100644
--- a/src/main/resources/mapper/DemoMapper.xml
+++ b/src/main/resources/mapper/DemoMapper.xml
@@ -19,4 +19,18 @@
LIMIT #{size}
</if>
</select>
+ <select id="selectByTimeZones" resultType="map">
+ select * from hangzhou_aqi where time in (
+ SELECT max(time) from (
+ select time,cast(aqi_json->"$.AQI" as SIGNED INTEGER) as aqi from hangzhou_aqi
+ ) hz where EXISTS ( select * from (
+ select max(cast(aqi_json->"$.AQI" as SIGNED INTEGER)) as max_aqi,
+ DATE_FORMAT(time,'%Y-%m-%d') as day_time
+ from hangzhou_aqi
+ where time >= #{startTime} and time <![CDATA[<=]]> #{endTime}
+ GROUP BY day_time
+ ) as max_result where day_time = DATE_FORMAT(hz.time,'%Y-%m-%d') and max_aqi = hz.aqi
+ ) GROUP BY DATE_FORMAT(time,'%Y-%m-%d') ORDER BY time ASC
+ )
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0