🚀 feat(新增): 恢复任务

This commit is contained in:
bunny 2024-07-26 13:15:33 +08:00
parent cd3157a751
commit d811b2e0de
4 changed files with 33 additions and 7 deletions

View File

@ -9,7 +9,7 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@Builder @Builder
public class QuartzPauseDto { public class QuartzPauseOrResumeDto {
private String jobName;// 任务名称 private String jobName;// 任务名称
private String jobGroup;// 任务分组 private String jobGroup;// 任务分组
} }

View File

@ -1,7 +1,7 @@
package cn.bunny.service.controller.quartz; package cn.bunny.service.controller.quartz;
import cn.bunny.dto.quartz.QuartzAddDto; import cn.bunny.dto.quartz.QuartzAddDto;
import cn.bunny.dto.quartz.QuartzPauseDto; import cn.bunny.dto.quartz.QuartzPauseOrResumeDto;
import cn.bunny.pojo.result.Result; import cn.bunny.pojo.result.Result;
import cn.bunny.service.service.quartz.JobService; import cn.bunny.service.service.quartz.JobService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
@ -26,8 +26,15 @@ public class JobController {
@Operation(summary = "暂停任务", description = "暂停任务") @Operation(summary = "暂停任务", description = "暂停任务")
@PutMapping("/pause") @PutMapping("/pause")
public Result<String> pause(@RequestBody QuartzPauseDto dto) { public Result<String> pause(@RequestBody QuartzPauseOrResumeDto dto) {
jobService.pause(dto); jobService.pause(dto);
return Result.success(); return Result.success();
} }
@Operation(summary = "恢复任务", description = "恢复任务")
@PutMapping("/resume")
public Result<String> resume(@RequestBody QuartzPauseOrResumeDto dto) {
jobService.resume(dto);
return Result.success();
}
} }

View File

@ -1,7 +1,7 @@
package cn.bunny.service.service.quartz; package cn.bunny.service.service.quartz;
import cn.bunny.dto.quartz.QuartzAddDto; import cn.bunny.dto.quartz.QuartzAddDto;
import cn.bunny.dto.quartz.QuartzPauseDto; import cn.bunny.dto.quartz.QuartzPauseOrResumeDto;
import cn.bunny.entity.system.quartz.JobDetails; import cn.bunny.entity.system.quartz.JobDetails;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
@ -19,5 +19,12 @@ public interface JobService extends IService<JobDetails> {
* *
* @param dto 暂停任务 * @param dto 暂停任务
*/ */
void pause(QuartzPauseDto dto); void pause(QuartzPauseOrResumeDto dto);
/**
* * 恢复任务
*
* @param dto 恢复任务
*/
void resume(QuartzPauseOrResumeDto dto);
} }

View File

@ -1,7 +1,7 @@
package cn.bunny.service.service.quartz.impl; package cn.bunny.service.service.quartz.impl;
import cn.bunny.dto.quartz.QuartzAddDto; import cn.bunny.dto.quartz.QuartzAddDto;
import cn.bunny.dto.quartz.QuartzPauseDto; import cn.bunny.dto.quartz.QuartzPauseOrResumeDto;
import cn.bunny.entity.system.quartz.JobDetails; import cn.bunny.entity.system.quartz.JobDetails;
import cn.bunny.service.mapper.quartz.JobDetailsMapper; import cn.bunny.service.mapper.quartz.JobDetailsMapper;
import cn.bunny.service.service.quartz.JobService; import cn.bunny.service.service.quartz.JobService;
@ -62,8 +62,20 @@ public class JobServiceImpl extends ServiceImpl<JobDetailsMapper, JobDetails> im
*/ */
@SneakyThrows @SneakyThrows
@Override @Override
public void pause(QuartzPauseDto dto) { public void pause(QuartzPauseOrResumeDto dto) {
JobKey key = new JobKey(dto.getJobName(), dto.getJobGroup()); JobKey key = new JobKey(dto.getJobName(), dto.getJobGroup());
scheduler.pauseJob(key); scheduler.pauseJob(key);
} }
/**
* * 恢复任务
*
* @param dto 恢复任务
*/
@SneakyThrows
@Override
public void resume(QuartzPauseOrResumeDto dto) {
JobKey key = new JobKey(dto.getJobName(), dto.getJobGroup());
scheduler.resumeJob(key);
}
} }