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 | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 106 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/moral/controller/DemoConreoller.java b/src/main/java/com/moral/controller/DemoConreoller.java index 8531945..5b2470a 100644 --- a/src/main/java/com/moral/controller/DemoConreoller.java +++ b/src/main/java/com/moral/controller/DemoConreoller.java @@ -1,10 +1,116 @@ 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; + @RestController @RequestMapping("demo") public class DemoConreoller { + @Resource + private DemoMapper demoMapper; + + @Resource + private AlarmDailyMapper alarmDailyMapper; + + @GetMapping("list") + 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) { + return ((Date)o1.get("time")).compareTo((Date)o2.get("time")); + } + }); + return list; + } + + @GetMapping("pollution") + public List<Map<String, Object>> getPollutionDatas(HttpServletRequest request){ + Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); + Object sensorKey = parameters.get("sensorKey"); + parameters.put("sensorKeys", Arrays.asList(sensorKey)); + parameters.put("start", LocalDate.now().with(TemporalAdjusters.firstDayOfMonth())); + parameters.put("end", LocalDate.now().with(TemporalAdjusters.firstDayOfNextMonth())); + List<Map<String, Object>> alarmData = alarmDailyMapper.getAlarmData(parameters); + Collections.sort(alarmData, new Comparator<Map<String, Object>>() { + @Override + public int compare(Map<String, Object> o1, Map<String, Object> o2) { + return ((BigDecimal) o2.get(sensorKey)).compareTo((BigDecimal) o1.get(sensorKey)); + } + }); + 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; + } + + /** + * + * ������������: + * + * @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); + } } -- Gitblit v1.8.0