流量统计-月报表逻辑调整

This commit is contained in:
aoshiguchen
2023-01-04 17:21:04 +08:00
parent 228e49c418
commit 43f0876e61
2 changed files with 18 additions and 5 deletions
@@ -145,6 +145,19 @@ public class DateUtil {
return cal.getTime(); 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) { public static Date getMonthEnd(Date date) {
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
calendar.setTime(getDayEnd(date)); calendar.setTime(getDayBegin(date));
calendar.add(Calendar.MONTH, 1); calendar.add(Calendar.MONTH, 1);
calendar.set(Calendar.DAY_OF_MONTH, 1); calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.add(Calendar.DAY_OF_MONTH, -1); calendar.add(Calendar.MILLISECOND, -1);
return calendar.getTime(); return calendar.getTime();
} }
@@ -63,11 +63,11 @@ public class FlowReportForMonthJob implements IJobHandler {
Date now = new Date(); Date now = new Date();
String dateStr = DateUtil.format(DateUtil.addDate(now, Calendar.MONTH, -1), "yyyy-MM"); String dateStr = DateUtil.format(DateUtil.addDate(now, Calendar.MONTH, -1), "yyyy-MM");
Date date = DateUtil.parse(dateStr, "yyyy-MM"); Date date = DateUtil.parse(dateStr, "yyyy-MM");
Date startDayDate = DateUtil.getDayBegin(date); Date startDayDate = DateUtil.getMonthBegin(date);
Date endEndDate = DateUtil.getDayEnd(date); Date endEndDate = DateUtil.getMonthEnd(date);
// 删除原来的记录 // 删除原来的记录
flowReportDayMapper.deleteByDateStr(dateStr); flowReportMonthMapper.deleteByDateStr(dateStr);
// 查询上个月的天级别统计数据 // 查询上个月的天级别统计数据
List<FlowReportDayDO> flowReportDayList = flowReportDayMapper.findListByDateRange(startDayDate, endEndDate); List<FlowReportDayDO> flowReportDayList = flowReportDayMapper.findListByDateRange(startDayDate, endEndDate);