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);
}
}*/
}
}
springBoot定时器使用
最新推荐文章于 2025-03-26 10:04:07 发布
本文介绍了一个基于Spring框架的计费统计定时任务实现方案,该任务用于每月定期统计账单,确保计费数据的准确性和及时性。通过消费明细服务进行账单统计,并使用日志记录统计结果。

818

被折叠的 条评论
为什么被折叠?



