diff --git a/backend/src/main/java/com/qqchen/deploy/backend/framework/enums/ResponseCode.java b/backend/src/main/java/com/qqchen/deploy/backend/framework/enums/ResponseCode.java index 09a540d9..4ee0da9f 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/framework/enums/ResponseCode.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/framework/enums/ResponseCode.java @@ -141,7 +141,7 @@ public enum ResponseCode { SCHEDULE_JOB_START_FAILED(2802, "schedule.job.start.failed"), SCHEDULE_JOB_PAUSE_FAILED(2803, "schedule.job.pause.failed"), SCHEDULE_JOB_RESUME_FAILED(2804, "schedule.job.resume.failed"), - SCHEDULE_JOB_STOP_FAILED(2805, "schedule.job.stop.failed"), + SCHEDULE_JOB_DISABLE_FAILED(2805, "schedule.job.disable.failed"), SCHEDULE_JOB_TRIGGER_FAILED(2806, "schedule.job.trigger.failed"), SCHEDULE_JOB_UPDATE_CRON_FAILED(2807, "schedule.job.update.cron.failed"), SCHEDULE_JOB_CRON_INVALID(2808, "schedule.job.cron.invalid"), @@ -150,6 +150,9 @@ public enum ResponseCode { SCHEDULE_JOB_TRIGGER_NOT_FOUND(2811, "schedule.job.trigger.not.found"), SCHEDULE_JOB_ALREADY_RUNNING(2812, "schedule.job.already.running"), SCHEDULE_JOB_NOT_RUNNING(2813, "schedule.job.not.running"), + SCHEDULE_JOB_STATUS_CANNOT_UPDATE(2814, "schedule.job.status.cannot.update"), + SCHEDULE_JOB_DISABLED_CANNOT_TRIGGER(2815, "schedule.job.disabled.cannot.trigger"), + SCHEDULE_JOB_UPDATE_FAILED(2816, "schedule.job.update.failed"), SCHEDULE_JOB_CATEGORY_NOT_FOUND(2820, "schedule.job.category.not.found"), SCHEDULE_JOB_CATEGORY_CODE_EXISTS(2821, "schedule.job.category.code.exists"), SCHEDULE_JOB_CATEGORY_HAS_JOBS(2822, "schedule.job.category.has.jobs"), diff --git a/backend/src/main/java/com/qqchen/deploy/backend/schedule/api/ScheduleJobApiController.java b/backend/src/main/java/com/qqchen/deploy/backend/schedule/api/ScheduleJobApiController.java index f6a95ed3..4756065b 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/schedule/api/ScheduleJobApiController.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/schedule/api/ScheduleJobApiController.java @@ -78,14 +78,14 @@ public class ScheduleJobApiController extends BaseController stopJob( + @Operation(summary = "禁用定时任务", description = "长期停用任务,从Quartz调度器中移除,但保留配置信息。禁用后不可触发执行。") + @PostMapping("/{id}/disable") + public Response disableJob( @Parameter(description = "任务ID", required = true) @PathVariable Long id ) { - scheduleJobService.stopJob(id); + scheduleJobService.disableJob(id); return Response.success(); } diff --git a/backend/src/main/java/com/qqchen/deploy/backend/schedule/api/ScheduleJobStatusApiController.java b/backend/src/main/java/com/qqchen/deploy/backend/schedule/api/ScheduleJobStatusApiController.java deleted file mode 100644 index 6d9123af..00000000 --- a/backend/src/main/java/com/qqchen/deploy/backend/schedule/api/ScheduleJobStatusApiController.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.qqchen.deploy.backend.schedule.api; - -import com.qqchen.deploy.backend.framework.api.Response; -import com.qqchen.deploy.backend.schedule.dto.JobStatusDTO; -import com.qqchen.deploy.backend.schedule.service.JobStatusRedisService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.annotation.Resource; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; - -import java.util.Map; - -/** - * 定时任务状态查询API控制器 - * - * @author qichen - */ -@Slf4j -@RestController -@RequestMapping("/api/v1/schedule/jobs") -@Tag(name = "定时任务状态查询", description = "查询任务实时执行状态") -public class ScheduleJobStatusApiController { - - @Resource - private JobStatusRedisService jobStatusRedisService; - - /** - * 获取单个任务状态 - */ - @Operation(summary = "获取任务执行状态", description = "获取指定任务的实时执行状态") - @GetMapping("/{jobId}/status") - public Response getJobStatus( - @Parameter(description = "任务ID") @PathVariable Long jobId) { - JobStatusDTO status = jobStatusRedisService.getJobStatus(jobId); - return Response.success(status); - } - - /** - * 批量获取所有任务状态 - */ - @Operation(summary = "批量获取任务状态", description = "获取所有任务的执行状态,用于列表页展示") - @GetMapping("/status/all") - public Response> getAllJobStatus() { - Map statusMap = jobStatusRedisService.getAllJobStatus(); - return Response.success(statusMap); - } - - /** - * 获取状态版本号 - */ - @Operation(summary = "获取状态版本号", description = "获取当前状态版本号,用于判断状态是否有变化") - @GetMapping("/status/version") - public Response getStatusVersion() { - Long version = jobStatusRedisService.getStatusVersion(); - return Response.success(version); - } -} - diff --git a/backend/src/main/java/com/qqchen/deploy/backend/schedule/service/IScheduleJobService.java b/backend/src/main/java/com/qqchen/deploy/backend/schedule/service/IScheduleJobService.java index 48704458..0f07fd15 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/schedule/service/IScheduleJobService.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/schedule/service/IScheduleJobService.java @@ -35,14 +35,14 @@ public interface IScheduleJobService extends IBaseService