feat:动态定时任务开发
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
package com.xiang.quartz.common.api;
|
||||
|
||||
import com.xiang.quartz.common.entity.dynamic.request.DynamicTaskQueryRequest;
|
||||
import com.xiang.quartz.common.entity.dynamic.request.DynamicTaskSaveRequest;
|
||||
import com.xiang.quartz.common.entity.dynamic.request.DynamicTaskUpdateRequest;
|
||||
import com.xiang.quartz.common.entity.dynamic.response.DynamicTaskInfoResponse;
|
||||
import com.xiang.xservice.basic.common.resp.Result;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author: xiang
|
||||
* @Date: 2026-02-11 10:59
|
||||
*/
|
||||
public interface DynamicTaskApi {
|
||||
|
||||
/**
|
||||
* 保存任务
|
||||
* @param request 新增请求
|
||||
* @return
|
||||
*/
|
||||
Result<Void> saveTask(DynamicTaskSaveRequest request);
|
||||
|
||||
/**
|
||||
* 修改任务
|
||||
* @param request 修改请求
|
||||
* @return
|
||||
*/
|
||||
Result<Void> updateTask(DynamicTaskUpdateRequest request);
|
||||
|
||||
/**
|
||||
* 查询任务详情
|
||||
* @param id 任务id
|
||||
* @return 任务详情
|
||||
*/
|
||||
Result<DynamicTaskInfoResponse> info(Long id);
|
||||
|
||||
/**
|
||||
* 查询任务列表
|
||||
* @param request 查询参数
|
||||
* @return 任务列表
|
||||
*/
|
||||
Result<List<DynamicTaskInfoResponse>> list(DynamicTaskQueryRequest request);
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.xiang.quartz.common.entity.dynamic.request;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @Author: xiang
|
||||
* @Date: 2026-02-11 11:10
|
||||
*/
|
||||
@Data
|
||||
public class DynamicTaskQueryRequest {
|
||||
/**
|
||||
* 任务名称
|
||||
*/
|
||||
private String taskName;
|
||||
/**
|
||||
* 任务分组
|
||||
*/
|
||||
private String taskGroup;
|
||||
/**
|
||||
* 运行时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime runTime;
|
||||
/**
|
||||
* 任务状态
|
||||
*/
|
||||
private Integer status;
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
package com.xiang.quartz.common.entity.dynamic.request;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @Author: xiang
|
||||
* @Date: 2026-02-11 10:55
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class DynamicTaskSaveRequest {
|
||||
/**
|
||||
* 任务id
|
||||
*/
|
||||
private Long id;
|
||||
/**
|
||||
* 任务名称
|
||||
*/
|
||||
private String taskName;
|
||||
/**
|
||||
* 任务分组
|
||||
*/
|
||||
private String taskGroup;
|
||||
/**
|
||||
* 运行时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime runTime;
|
||||
/**
|
||||
* 任务状态
|
||||
*/
|
||||
private Integer status;
|
||||
/**
|
||||
* 参数
|
||||
*/
|
||||
private String parameters;
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
package com.xiang.quartz.common.entity.dynamic.request;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @Author: xiang
|
||||
* @Date: 2026-02-11 10:57
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class DynamicTaskUpdateRequest {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private Long id;
|
||||
/**
|
||||
* 任务名称
|
||||
*/
|
||||
private String taskName;
|
||||
/**
|
||||
* 任务分组
|
||||
*/
|
||||
private String taskGroup;
|
||||
/**
|
||||
* 运行时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime runTime;
|
||||
/**
|
||||
* 任务状态
|
||||
*/
|
||||
private Integer status;
|
||||
/**
|
||||
* 参数
|
||||
*/
|
||||
private String parameters;
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
package com.xiang.quartz.common.entity.dynamic.response;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @Author: xiang
|
||||
* @Date: 2026-02-11 10:58
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class DynamicTaskInfoResponse {
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private Long id;
|
||||
/**
|
||||
* 任务名称
|
||||
*/
|
||||
private String taskName;
|
||||
/**
|
||||
* 任务分组
|
||||
*/
|
||||
private String taskGroup;
|
||||
/**
|
||||
* 运行时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime runTime;
|
||||
/**
|
||||
* 任务状态
|
||||
*/
|
||||
private Integer status;
|
||||
/**
|
||||
* 参数
|
||||
*/
|
||||
private String parameters;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createdTime;
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime updatedTime;
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.xiang.quartz.common.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public enum TaskStatusEnum {
|
||||
UN_START(1, "未开始"),
|
||||
PROCEED(2, "进行中"),
|
||||
FINISHED(3, "已完成"),
|
||||
CANCELED(4, "取消"),
|
||||
ERROR(5, "错误"),
|
||||
;
|
||||
|
||||
private final Integer code;
|
||||
private final String desc;
|
||||
|
||||
TaskStatusEnum(Integer code, String desc) {
|
||||
this.code = code;
|
||||
this.desc = desc;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.xiang.quartz.common.enums.url;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import org.springframework.http.HttpMethod;
|
||||
|
||||
/**
|
||||
* @Author: xiang
|
||||
* @Date: 2026-02-11 11:24
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum DynamicTaskUrlEnum {
|
||||
|
||||
|
||||
|
||||
SAVE_TASK("/open/dynamic/task/save", "保存任务", HttpMethod.POST),
|
||||
UPDATE_TASK("/open/dynamic/task/update", "保存任务",HttpMethod.POST),
|
||||
QUERY_TASK_INFO("/open/dynamic/task/info/", "查询任务详情", HttpMethod.GET),
|
||||
QUERY_TASK_LIST("/open/dynamic/task/list", "查询任务列表", HttpMethod.POST),
|
||||
|
||||
;
|
||||
private final String url;
|
||||
private final String desc;
|
||||
private final HttpMethod method;
|
||||
}
|
||||
Reference in New Issue
Block a user