|
@@ -1,5 +1,6 @@
|
|
|
package net.yyc.quartz.service.impl;
|
|
package net.yyc.quartz.service.impl;
|
|
|
|
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import net.yyc.quartz.entity.JobBriefing;
|
|
import net.yyc.quartz.entity.JobBriefing;
|
|
@@ -34,19 +35,18 @@ public class JobBriefingServiceImpl implements JobBriefingService {
|
|
|
// 1. 获取昨日执行的任务列表
|
|
// 1. 获取昨日执行的任务列表
|
|
|
List<Integer> executedJobIds = jobBriefingMapper.selectExecutedJobIds(startTime, endTime);
|
|
List<Integer> executedJobIds = jobBriefingMapper.selectExecutedJobIds(startTime, endTime);
|
|
|
|
|
|
|
|
- // 2. 获取当前运行中的任务
|
|
|
|
|
- List<SysJob> runningJobs = sysJobService.list(null);
|
|
|
|
|
- if (runningJobs == null) {
|
|
|
|
|
- runningJobs = Collections.emptyList();
|
|
|
|
|
|
|
+ // 2. 获取非删除状态的任务(1已发布 2运行中 3暂停)
|
|
|
|
|
+ LambdaQueryWrapper<SysJob> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
+ queryWrapper.in(SysJob::getJobStatus, "1", "2", "3");
|
|
|
|
|
+ List<SysJob> runningJobList = sysJobService.list(queryWrapper);
|
|
|
|
|
+ if (runningJobList == null) {
|
|
|
|
|
+ runningJobList = Collections.emptyList();
|
|
|
}
|
|
}
|
|
|
- List<SysJob> runningJobList = runningJobs.stream()
|
|
|
|
|
- .filter(job -> "2".equals(job.getJobStatus()))
|
|
|
|
|
- .collect(Collectors.toList());
|
|
|
|
|
-
|
|
|
|
|
- // 3. 计算任务列表并集(昨日执行 + 当前运行中)
|
|
|
|
|
- Set<Integer> allJobIds = new HashSet<>();
|
|
|
|
|
- allJobIds.addAll(executedJobIds);
|
|
|
|
|
- runningJobList.forEach(job -> allJobIds.add(job.getJobId()));
|
|
|
|
|
|
|
+
|
|
|
|
|
+ // 3. 任务ID列表
|
|
|
|
|
+ Set<Integer> allJobIds = runningJobList.stream()
|
|
|
|
|
+ .map(SysJob::getJobId)
|
|
|
|
|
+ .collect(Collectors.toSet());
|
|
|
|
|
|
|
|
// 4. 获取任务ID到任务的映射
|
|
// 4. 获取任务ID到任务的映射
|
|
|
Map<Integer, SysJob> jobMap = new HashMap<>();
|
|
Map<Integer, SysJob> jobMap = new HashMap<>();
|