|
|
|
@ -10,12 +10,14 @@ import com.docus.server.record.service.ITBasicService;
|
|
|
|
|
import com.docus.server.sys.service.IPowerDeptService;
|
|
|
|
|
import com.docus.server.sys.service.IPowerUserService;
|
|
|
|
|
import com.xxl.job.core.context.XxlJobHelper;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
@Slf4j
|
|
|
|
|
public abstract class AbstractCollectJob<T> implements IJob<T> {
|
|
|
|
|
@Resource
|
|
|
|
|
protected IPowerUserService userService;
|
|
|
|
@ -37,14 +39,19 @@ public abstract class AbstractCollectJob<T> implements IJob<T> {
|
|
|
|
|
taskConfigService.updateAllPointerDate(taskConfigId, periodTime.getPeriodEndDate());
|
|
|
|
|
}
|
|
|
|
|
} catch (Exception ex) {
|
|
|
|
|
updateTaskState(ex, taskConfig);
|
|
|
|
|
log.error(ex.getMessage(), ex);
|
|
|
|
|
updateTaskState(ex.getMessage(), taskConfig);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (StateEnum.FAIL.equals(taskConfig.getState())) {
|
|
|
|
|
updateTaskState(taskConfig);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void startCollectIncrement(String taskConfigId) {
|
|
|
|
|
TaskConfig taskConfig = taskConfigService.getTaskConfig(taskConfigId);
|
|
|
|
|
TaskConfig taskConfig = getTaskConfig(taskConfigId);
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
|
|
List<PeriodTime> periodTimes = taskConfig.getIncPeriodTimes();
|
|
|
|
@ -54,10 +61,16 @@ public abstract class AbstractCollectJob<T> implements IJob<T> {
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
} catch (Exception ex) {
|
|
|
|
|
updateTaskState(ex, taskConfig);
|
|
|
|
|
log.error(ex.getMessage(), ex);
|
|
|
|
|
updateTaskState(ex.getMessage(), taskConfig);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (StateEnum.FAIL.equals(taskConfig.getState())) {
|
|
|
|
|
updateTaskState(taskConfig);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void get(PeriodTime periodTime, TaskConfig taskConfig) {
|
|
|
|
|
//考虑到性能,应该把起始时间和结束时间进行切割拆分到每天。按段查询。
|
|
|
|
@ -78,15 +91,19 @@ public abstract class AbstractCollectJob<T> implements IJob<T> {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void updateTaskState(Exception ex, TaskConfig taskConfig) {
|
|
|
|
|
private void updateTaskState(TaskConfig taskConfig) {
|
|
|
|
|
taskConfig.setState(StateEnum.OK);
|
|
|
|
|
taskConfigService.updateById(taskConfig);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void updateTaskState(String message, TaskConfig taskConfig) {
|
|
|
|
|
taskConfig.setState(StateEnum.FAIL);
|
|
|
|
|
String message = ex.getMessage();
|
|
|
|
|
taskConfig.setErrorMsg(message.length() > 500 ? message.substring(0, 500) : message);
|
|
|
|
|
taskConfigService.updateByTaskId(taskConfig);
|
|
|
|
|
taskConfig.setLastErrorMsg(message.length() > 1000 ? message.substring(0, 1000) : message);
|
|
|
|
|
taskConfigService.updateById(taskConfig);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private TaskConfig getTaskConfig(String taskConfigId) {
|
|
|
|
|
return taskConfigService.getTaskConfig(taskConfigId);
|
|
|
|
|
return taskConfigService.getById(taskConfigId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected String getJobParam() {
|
|
|
|
|