From 409851cc3f33d3fd016e20518f90a2c093e9e1db Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Tue, 19 May 2020 16:58:54 +0800 Subject: [PATCH] alarm相关接口更新 --- src/main/java/com/moral/service/impl/AlarmServiceImpl.java | 66 +++++++++++++++++++++++++------- 1 files changed, 51 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/moral/service/impl/AlarmServiceImpl.java b/src/main/java/com/moral/service/impl/AlarmServiceImpl.java index 3386740..fb3e494 100644 --- a/src/main/java/com/moral/service/impl/AlarmServiceImpl.java +++ b/src/main/java/com/moral/service/impl/AlarmServiceImpl.java @@ -1,5 +1,9 @@ package com.moral.service.impl; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; import java.util.Date; import java.util.List; import java.util.Map; @@ -14,25 +18,57 @@ import com.moral.service.HistoryMinutelyService; @Service -@SuppressWarnings({ "rawtypes" }) +@SuppressWarnings({"rawtypes"}) public class AlarmServiceImpl implements AlarmService { - @Resource - private AlarmMapper alarmMapper; + @Resource + private AlarmMapper alarmMapper; - @Resource - private HistoryMinutelyService historyMinutelyService; + @Resource + private HistoryMinutelyService historyMinutelyService; @Override - public List<Map> countByTimes(Date start, Date end, TimeUnits timeUnits){ - String format = null; - if(timeUnits!=null){ - switch (timeUnits){ - case MONTH: format = "%Y-%m"; - case DAY: format = "%Y-%m-%d"; - } - } + public List<Map> countByTimes(Date start, Date end, TimeUnits timeUnits) throws ParseException { + String format = null; + if (timeUnits != null) { + switch (timeUnits) { + case MONTH: + format = "%Y-%m"; + break; + case DAY: + format = "%Y-%m-%d"; + break; + default: + break; + } + } + if (start == null) { + Calendar cal = Calendar.getInstance(); + String s = cal.get(Calendar.YEAR) + ""; + SimpleDateFormat sdf = new SimpleDateFormat("yyyy"); + start = sdf.parse(s); + } - return alarmMapper.countByTimes(start, end, format); - } + if (end == null) { + end = new Date(); + } + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); + SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMM"); + + String[] starts = sdf.format(start).split("-"); + String[] ends = sdf.format(end).split("-"); + Date startTime = sdf1.parse(starts[0] + "" + starts[1]); + Date endTime = sdf1.parse(ends[0] + "" + ends[1]); + + Calendar cal = Calendar.getInstance(); + cal.setTime(startTime); + + List<String> list = new ArrayList<>(); + for (long d = cal.getTimeInMillis(); d <= endTime.getTime(); cal.set(Calendar.MONTH, cal.get(Calendar.MONTH) + 1), d = cal.getTimeInMillis()) { + list.add(sdf1.format(d)); + } + return alarmMapper.countByTimes(start, end, format, list); + + } } -- Gitblit v1.8.0