springBoot定时器使用

package com.zorasoft.workstack.web.infrastructures.schedulings;

import com.zorasoft.workstack.web.domains.services.consumptionBillDetailsService.ConsumptionBillDetailsService;
import com.zorasoft.workstack.web.domains.services.consumptionBillService.ConsumptionBillService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.text.SimpleDateFormat;
import java.util.Calendar;

/**
 * @ClassName BillingStatisticsJob
 * @Description 根据计费日志统计每月的账单
 * @Author TangYinJian
 * @Date 2019-05-30 12:13:14
 * @Version 1.0
 **/
@Component
@EnableScheduling
public class BillingStatisticsJob {

    private final static Logger logger = LoggerFactory.getLogger(BillingStatisticsJob.class);

    @Autowired
    private ConsumptionBillDetailsService consumptionBillDetailsService;

    @Autowired
    private ConsumptionBillService consumptionBillService;

    /**每月1-3日凌晨2点执行一次*/
    /**每月循环多次执行,避免因外部原因导致某次统计失败*/
    /*@Scheduled(cron = "0 0 2 1-3 * ?")*/
    //@Scheduled(cron = "0/3 * * * * ?")
    public void billingStatistics(){
        //获取统计的年月
        /*SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Calendar calendar = Calendar.getInstance();
        String year = String.valueOf(calendar.get(Calendar.YEAR));
        String month = String.valueOf(calendar.get(Calendar.MONTH));
        month = month.length() == 1?"0"+month:month;
        String billingMonth = year + "-" + month;
        //判断上月是否已统计过
        boolean isStatistics = consumptionBillService.isStatistics(billingMonth);
        //如果未统计则统计账单
        if(!isStatistics){
            try {
                consumptionBillDetailsService.billingStatistics2();
                logger.info(sdf.format(calendar.getTime())+":************** 账单统计成功 *******************");
            } catch (Exception e) {
                logger.error(sdf.format(calendar.getTime())+":************** 账单统计失败! *******************");
                logger.error(e.getMessage(), e);
            }
        }*/
    }
}
发布了68 篇原创文章 · 获赞 19 · 访问量 24万+

猜你喜欢

转载自blog.csdn.net/tyjlearning/article/details/93756093