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