Browse Source

每周一执行,取上个自然周

dev
yinzuomei 4 years ago
parent
commit
4c1473c104
  1. 27
      epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/ExportGridLiveResTask.java

27
epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/ExportGridLiveResTask.java

@ -10,6 +10,10 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* 每个星期一的凌晨5点执行查询网格活跃度统计导出excel上传oss, 发送钉钉@小雷哥
@ -30,10 +34,33 @@ public class ExportGridLiveResTask implements ITask {
if (StringUtils.isNotBlank(params)) {
formDTO = JSON.parseObject(params, GridLivelyFormDTO.class);
}
//默认获取当前日期的上一个自然周
if (StringUtils.isBlank(formDTO.getStartTime()) || StringUtils.isBlank(formDTO.getEndTime())) {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, -1);
//上周日的日期
Date yesterday = calendar.getTime();
DateFormat format = new SimpleDateFormat("yyyyMMdd");
Calendar c = new GregorianCalendar();
//这里设置一周开始时间是星期一
c.setFirstDayOfWeek(Calendar.MONDAY);
c.setTime(yesterday);
c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek());
//获取当前自然周的起始时间
String beginTime = format.format(c.getTime());
c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek() + 6);
//当前自然周的截止时间
String endTime = format.format(c.getTime());
formDTO.setStartTime(beginTime);
formDTO.setEndTime(endTime);
}
ValidatorUtils.validateEntity(formDTO,GridLivelyFormDTO.Grid.class);
Result result = dataAggregatorFeignClient.exportGridLiveRes(formDTO);
if(!result.success()){
log.error(String.format("exportGridLiveResTask网格活跃度统计导出失败,入参:%s",params));
}
}
}
Loading…
Cancel
Save