OrderReportTask.java 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package com.goafanti.common.task;
  2. import java.util.Calendar;
  3. import java.util.Date;
  4. import javax.annotation.Resource;
  5. import org.slf4j.Logger;
  6. import org.slf4j.LoggerFactory;
  7. import org.springframework.stereotype.Component;
  8. import com.goafanti.common.utils.LoggerUtils;
  9. import com.goafanti.report.service.SalesReportServiceImpl;
  10. @Component
  11. public class OrderReportTask {
  12. Logger logger = LoggerFactory.getLogger(OrderReportTask.class);
  13. @Resource
  14. private SalesReportServiceImpl dailySalesReportServiceImpl;
  15. /**
  16. * "0 0 17 * * ?" 每天17点触发一次
  17. * 旧订单,已经无效
  18. */
  19. // @Scheduled(cron = "0 0 17 * * ?")
  20. public void runStatistics() {
  21. LoggerUtils.debug(logger, "统计订单报表任务开始");
  22. Calendar now = Calendar.getInstance();
  23. now.set(Calendar.MILLISECOND, 0);
  24. now.set(Calendar.SECOND, 0);
  25. now.set(Calendar.MINUTE, 0);
  26. Date start = new Calendar.Builder()
  27. .setDate(now.get(Calendar.YEAR), now.get(Calendar.MONTH), now.get(Calendar.DAY_OF_MONTH) - 1)
  28. .setTimeOfDay(17, 0, 0, 0).build().getTime();
  29. // 统计从昨天17点到今天17点的数据,算作今日数据
  30. int count = dailySalesReportServiceImpl.insertDailyReports(start, now.getTime());
  31. LoggerUtils.debug(logger, "统计今日订单【%s】条。", count);
  32. }
  33. }