package com.moral.controller; import java.math.BigDecimal; import java.time.LocalDate; import java.time.temporal.TemporalAdjusters; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.Date; import java.util.List; import java.util.Map; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; 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> getDatas(){ List> list = demoMapper.getDatas(); Collections.sort(list, new Comparator>() { @Override public int compare(Map o1, Map o2) { return ((Date)o1.get("time")).compareTo((Date)o2.get("time")); } }); return list; } @GetMapping("pollution") public List> getPollutionDatas(HttpServletRequest request){ Map 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> alarmData = alarmDailyMapper.getAlarmData(parameters); Collections.sort(alarmData, new Comparator>() { @Override public int compare(Map o1, Map o2) { return ((BigDecimal) o2.get(sensorKey)).compareTo((BigDecimal) o1.get(sensorKey)); } }); return alarmData; } }