🚀 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
@NoArgsConstructor
@Builder
public class QuartzPauseDto {
public class QuartzPauseOrResumeDto {
private String jobName;// 任务名称
private String jobGroup;// 任务分组
}

View File

@ -1,7 +1,7 @@
package cn.bunny.service.controller.quartz;
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.service.service.quartz.JobService;
import io.swagger.v3.oas.annotations.Operation;
@ -26,8 +26,15 @@ public class JobController {
@Operation(summary = "暂停任务", description = "暂停任务")
@PutMapping("/pause")
public Result<String> pause(@RequestBody QuartzPauseDto dto) {
public Result<String> pause(@RequestBody QuartzPauseOrResumeDto dto) {
jobService.pause(dto);
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;
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 com.baomidou.mybatisplus.extension.service.IService;
@ -19,5 +19,12 @@ public interface JobService extends IService<JobDetails> {
*
* @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;
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.service.mapper.quartz.JobDetailsMapper;
import cn.bunny.service.service.quartz.JobService;
@ -62,8 +62,20 @@ public class JobServiceImpl extends ServiceImpl<JobDetailsMapper, JobDetails> im
*/
@SneakyThrows
@Override
public void pause(QuartzPauseDto dto) {
public void pause(QuartzPauseOrResumeDto dto) {
JobKey key = new JobKey(dto.getJobName(), dto.getJobGroup());
scheduler.pauseJob(key);
}
/**
* * 恢复任务
*
* @param dto 恢复任务
*/
@SneakyThrows
@Override
public void resume(QuartzPauseOrResumeDto dto) {
JobKey key = new JobKey(dto.getJobName(), dto.getJobGroup());
scheduler.resumeJob(key);
}
}