diff --git a/neutrino-core/src/main/java/fun/asgc/neutrino/core/util/DateUtil.java b/neutrino-core/src/main/java/fun/asgc/neutrino/core/util/DateUtil.java index 377909b5..af093be2 100644 --- a/neutrino-core/src/main/java/fun/asgc/neutrino/core/util/DateUtil.java +++ b/neutrino-core/src/main/java/fun/asgc/neutrino/core/util/DateUtil.java @@ -145,6 +145,19 @@ public class DateUtil { return cal.getTime(); } + /** + * 获取该日期当月第一天 + * + * @param date 日期 + * @return 结果日期 + */ + public static Date getMonthBegin(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(getDayBegin(date)); + calendar.set(Calendar.DAY_OF_MONTH, 1); + return calendar.getTime(); + } + /** * 获取该日期当月最后一天 * @@ -153,10 +166,10 @@ public class DateUtil { */ public static Date getMonthEnd(Date date) { Calendar calendar = Calendar.getInstance(); - calendar.setTime(getDayEnd(date)); + calendar.setTime(getDayBegin(date)); calendar.add(Calendar.MONTH, 1); calendar.set(Calendar.DAY_OF_MONTH, 1); - calendar.add(Calendar.DAY_OF_MONTH, -1); + calendar.add(Calendar.MILLISECOND, -1); return calendar.getTime(); } diff --git a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/job/FlowReportForMonthJob.java b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/job/FlowReportForMonthJob.java index e06c2478..fdb07fdf 100644 --- a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/job/FlowReportForMonthJob.java +++ b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/job/FlowReportForMonthJob.java @@ -63,11 +63,11 @@ public class FlowReportForMonthJob implements IJobHandler { Date now = new Date(); String dateStr = DateUtil.format(DateUtil.addDate(now, Calendar.MONTH, -1), "yyyy-MM"); Date date = DateUtil.parse(dateStr, "yyyy-MM"); - Date startDayDate = DateUtil.getDayBegin(date); - Date endEndDate = DateUtil.getDayEnd(date); + Date startDayDate = DateUtil.getMonthBegin(date); + Date endEndDate = DateUtil.getMonthEnd(date); // 删除原来的记录 - flowReportDayMapper.deleteByDateStr(dateStr); + flowReportMonthMapper.deleteByDateStr(dateStr); // 查询上个月的天级别统计数据 List flowReportDayList = flowReportDayMapper.findListByDateRange(startDayDate, endEndDate);