InComeCalculationStaticJob.java
3.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
package com.zteits.park.job;
import org.apache.commons.lang3.StringUtils;
import com.xiaoleilu.hutool.date.DateTime;
import com.xiaoleilu.hutool.date.DateUtil;
import com.xiaoleilu.hutool.date.TimeInterval;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.annotation.XxlJob;
import com.zteits.park.dao.InComeCalculationStaticDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* Copyright: Copyright (c) 2017 zteits
*
* @ClassName: com.zteits.park.job
* @Description: 收益测算统计job
* @version: v1.0.0
* @author: atao
* @date: 2017/12/26 下午3:22
* Modification History:
* Date Author Version Description
* ---------------------------------------------------------*
* 2017/12/26 atao v1.0.0 创建
*/
@Component
public class InComeCalculationStaticJob {
@Autowired
private InComeCalculationStaticDao inComeCalculationStaticDao;
@XxlJob("InComeCalculationStaticJob")
public ReturnT<String> execute(String... params) throws Exception {
String param = XxlJobHelper.getJobParam();
if (StringUtils.isNotEmpty(param) && params == null) {
params = param.split(",");
}
//开启计时器
TimeInterval timer = DateUtil.timer();
XxlJobHelper.log("---收益测算统计定时任务---start--" + DateUtil.now() + "---");
Date date = DateUtil.offsetDay(new Date(), -1);
int count = staticOfNum(date);
XxlJobHelper.log("----收益测算定时任务--统计按次数据结束,共" + count + "条数据,此时耗时:" + timer.intervalMinute() + "分钟");
count = staticOfTime(date);
XxlJobHelper.log("----收益测算定时任务--统计按时数据结束,共" + count + "条数据,此时耗时:" + timer.intervalMinute() + "分钟");
Boolean flag = inComeCalculationStaticDao.updateParkBaseInfoByProc();
XxlJobHelper.log("----收益测算定时任务--更新补充基础数据,isSuccess:" + flag + ",此时耗时:" + timer.intervalMinute() + "分钟");
XxlJobHelper.log("---收益测算统计定时任务---end--" + DateUtil.now() + "---");
XxlJobHelper.log("---收益测算统计定时任务---耗时:" + timer.intervalMinute() + "分钟");
return ReturnT.SUCCESS;
}
/**
* 按次任务统计
*
* @return
*/
private int staticOfNum(Date date) {
date = DateUtil.offsetDay(date, 0);
DateTime staticStartDate = DateUtil.beginOfDay(date);
DateTime staticEndDate = DateUtil.endOfDay(date);
DateTime lastMonth = DateUtil.offsetMonth(date, -1);
//查看当前月表数据
int count = inComeCalculationStaticDao.staticIncomeCalculationDataOfNum(DateUtil.format(date, "yyyyMM"),
staticStartDate, staticEndDate);
//查看上一个月表数据
count += inComeCalculationStaticDao.staticIncomeCalculationDataOfNum(DateUtil.format(lastMonth, "yyyyMM"),
staticStartDate, staticEndDate);
return count;
}
/**
* 按时任务统计
*
* @return
*/
private int staticOfTime(Date date) {
date = DateUtil.offsetDay(date, 0);
DateTime staticStartDate = DateUtil.beginOfDay(date);
DateTime staticEndDate = DateUtil.endOfDay(date);
DateTime lastMonth = DateUtil.offsetMonth(date, -1);
//查看当前月表数据
int count = inComeCalculationStaticDao.staticIncomeCalculationDataOfTime(
DateUtil.format(date, "yyyyMM"),
staticStartDate, staticEndDate);
//查看上一个月表数据
count += inComeCalculationStaticDao.staticIncomeCalculationDataOfTime(DateUtil.format(lastMonth, "yyyyMM"),
staticStartDate, staticEndDate);
return count;
}
}