添加controller层接口
This commit is contained in:
parent
da059bf1ad
commit
3e1e4d5e95
|
|
@ -22,6 +22,20 @@
|
|||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-common-core</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- Lombok -->
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- Spring Cloud OpenFeign -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-openfeign</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,81 @@
|
|||
package com.ruoyi.task.api;
|
||||
|
||||
import com.ruoyi.common.core.constant.SecurityConstants;
|
||||
import com.ruoyi.common.core.constant.ServiceNameConstants;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.task.api.domain.TaskPlanDTO;
|
||||
import com.ruoyi.task.api.domain.TaskPlanQueryDTO;
|
||||
import com.ruoyi.task.api.factory.RemoteTaskPlanFallbackFactory;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 任务计划服务
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2026-03-06
|
||||
*/
|
||||
@FeignClient(contextId = "remoteTaskPlanService", value = ServiceNameConstants.TASK_SERVICE, fallbackFactory = RemoteTaskPlanFallbackFactory.class)
|
||||
public interface RemoteTaskPlanService {
|
||||
/**
|
||||
* 创建定时任务计划
|
||||
*
|
||||
* @param taskPlanDTO 任务计划DTO
|
||||
* @param source 请求来源
|
||||
* @return 结果
|
||||
*/
|
||||
@PostMapping("/task/plan/timed")
|
||||
R<Long> createTimedTaskPlan(@RequestBody TaskPlanDTO taskPlanDTO, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||
|
||||
/**
|
||||
* 创建周期任务计划
|
||||
*
|
||||
* @param taskPlanDTO 任务计划DTO
|
||||
* @param source 请求来源
|
||||
* @return 结果
|
||||
*/
|
||||
@PostMapping("/task/plan/cycle")
|
||||
R<Long> createCycleTaskPlan(@RequestBody TaskPlanDTO taskPlanDTO, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||
|
||||
/**
|
||||
* 根据ID获取任务计划
|
||||
*
|
||||
* @param planId 计划ID
|
||||
* @param source 请求来源
|
||||
* @return 结果
|
||||
*/
|
||||
@GetMapping("/task/plan/{planId}")
|
||||
R<TaskPlanDTO> getTaskPlanById(@PathVariable("planId") Long planId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||
|
||||
/**
|
||||
* 查询任务计划列表
|
||||
*
|
||||
* @param queryDTO 查询条件
|
||||
* @param source 请求来源
|
||||
* @return 结果
|
||||
*/
|
||||
@PostMapping("/task/plan/list")
|
||||
R<List<TaskPlanDTO>> getTaskPlanList(@RequestBody TaskPlanQueryDTO queryDTO, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||
|
||||
/**
|
||||
* 更新任务计划
|
||||
*
|
||||
* @param taskPlanDTO 任务计划DTO
|
||||
* @param source 请求来源
|
||||
* @return 结果
|
||||
*/
|
||||
@PutMapping("/task/plan")
|
||||
R<Boolean> updateTaskPlan(@RequestBody TaskPlanDTO taskPlanDTO, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||
|
||||
/**
|
||||
* 删除任务计划
|
||||
*
|
||||
* @param planId 计划ID
|
||||
* @param source 请求来源
|
||||
* @return 结果
|
||||
*/
|
||||
@DeleteMapping("/task/plan/{planId}")
|
||||
R<Boolean> deleteTaskPlan(@PathVariable("planId") Long planId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||
}
|
||||
|
|
@ -3,12 +3,15 @@ package com.ruoyi.task.api;
|
|||
import com.ruoyi.common.core.constant.SecurityConstants;
|
||||
import com.ruoyi.common.core.constant.ServiceNameConstants;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.task.api.domain.TaskDTO;
|
||||
import com.ruoyi.task.api.domain.TaskQueryDTO;
|
||||
import com.ruoyi.task.api.domain.TaskTempVO;
|
||||
import com.ruoyi.task.api.enums.StatusEnum;
|
||||
import com.ruoyi.task.api.factory.RemoteTaskFallbackFactory;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestHeader;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 任务服务
|
||||
|
|
@ -20,12 +23,95 @@ import org.springframework.web.bind.annotation.RequestHeader;
|
|||
public interface RemoteTaskService
|
||||
{
|
||||
/**
|
||||
* 根据ID查询任务信息
|
||||
* 根据ID查询任务临时表信息
|
||||
*
|
||||
* @param id 任务ID
|
||||
* @param id 任务临时表ID
|
||||
* @param source 请求来源
|
||||
* @return 结果
|
||||
*/
|
||||
@GetMapping("/task/temp/{id}")
|
||||
R<TaskTempVO> getTaskById(@PathVariable("id") String id, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||
R<TaskTempVO> getTaskTempById(@PathVariable("id") String id, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||
|
||||
/**
|
||||
* 创建无关联计划的任务
|
||||
*
|
||||
* @param taskDTO 任务DTO
|
||||
* @param source 请求来源
|
||||
* @return 结果
|
||||
*/
|
||||
@PostMapping("/task")
|
||||
R<Long> createTaskWithoutPlan(@RequestBody TaskDTO taskDTO, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||
|
||||
/**
|
||||
* 根据ID获取任务
|
||||
*
|
||||
* @param taskId 任务ID
|
||||
* @param source 请求来源
|
||||
* @return 结果
|
||||
*/
|
||||
@GetMapping("/task/{taskId}")
|
||||
R<TaskDTO> getTaskById(@PathVariable("taskId") Long taskId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||
|
||||
/**
|
||||
* 查询任务列表
|
||||
*
|
||||
* @param queryDTO 查询条件
|
||||
* @param source 请求来源
|
||||
* @return 结果
|
||||
*/
|
||||
@PostMapping("/task/list")
|
||||
R<List<TaskDTO>> getTaskList(@RequestBody TaskQueryDTO queryDTO, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||
|
||||
/**
|
||||
* 更新任务
|
||||
*
|
||||
* @param taskDTO 任务DTO
|
||||
* @param source 请求来源
|
||||
* @return 结果
|
||||
*/
|
||||
@PutMapping("/task")
|
||||
R<Boolean> updateTask(@RequestBody TaskDTO taskDTO, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||
|
||||
/**
|
||||
* 删除任务
|
||||
*
|
||||
* @param taskId 任务ID
|
||||
* @param source 请求来源
|
||||
* @return 结果
|
||||
*/
|
||||
@DeleteMapping("/task/{taskId}")
|
||||
R<Boolean> deleteTask(@PathVariable("taskId") Long taskId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||
|
||||
/**
|
||||
* 根据无人机ID查询任务列表
|
||||
*
|
||||
* @param uavId 无人机ID
|
||||
* @param source 请求来源
|
||||
* @return 结果
|
||||
*/
|
||||
@GetMapping("/task/uav/{uavId}")
|
||||
R<List<TaskDTO>> getTaskByUavId(@PathVariable("uavId") Long uavId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||
|
||||
/**
|
||||
* 根据无人机ID获取最新的一条任务
|
||||
*
|
||||
* @param uavId 无人机ID
|
||||
* @param source 请求来源
|
||||
* @return 结果
|
||||
*/
|
||||
@GetMapping("/task/uav/current/{uavId}")
|
||||
R<TaskDTO> getCurrentTaskByUavId(@PathVariable("uavId") Long uavId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 修改执行状态
|
||||
*
|
||||
* @param taskId 任务ID
|
||||
* @param status 任务状态
|
||||
* @param source 请求来源
|
||||
* @return 结果
|
||||
*/
|
||||
@PutMapping("/task/status/{taskId}")
|
||||
R<Boolean> updateTaskStatus(@PathVariable("taskId") Long taskId, @RequestParam("status") StatusEnum status, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||
}
|
||||
|
|
@ -0,0 +1,203 @@
|
|||
package com.ruoyi.task.api.domain;
|
||||
|
||||
import com.ruoyi.task.api.enums.ExecuteTypeEnum;
|
||||
import com.ruoyi.task.api.enums.StatusEnum;
|
||||
import com.ruoyi.task.api.enums.TaskCategoryEnum;
|
||||
import com.ruoyi.task.api.enums.TaskTypeEnum;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 任务数据传输对象
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2026-03-05
|
||||
*/
|
||||
public class TaskDTO {
|
||||
|
||||
/** 任务ID */
|
||||
private Long id;
|
||||
|
||||
/** 计划ID(可为空,如一键起飞) */
|
||||
private Long planId;
|
||||
|
||||
/** 任务名称 */
|
||||
private String taskName;
|
||||
|
||||
/** 任务类别(如人工执飞) */
|
||||
private TaskCategoryEnum taskCategory;
|
||||
|
||||
/** 任务类型(如一键起飞) */
|
||||
private TaskTypeEnum taskType;
|
||||
|
||||
/** 执行类型(单次执行、连续执行) */
|
||||
private ExecuteTypeEnum executeType;
|
||||
|
||||
/** 航线ID */
|
||||
private Long routeId;
|
||||
|
||||
/** 无人机ID */
|
||||
private Long uavId;
|
||||
|
||||
/** 状态 */
|
||||
private StatusEnum status;
|
||||
|
||||
/** 开始时间 */
|
||||
private Date startTime;
|
||||
|
||||
/** 结束时间 */
|
||||
private Date endTime;
|
||||
|
||||
/** 实际开始时间 */
|
||||
private Date actualStartTime;
|
||||
|
||||
/** 实际结束时间 */
|
||||
private Date actualEndTime;
|
||||
|
||||
/** 描述 */
|
||||
private String description;
|
||||
|
||||
/** 备注 */
|
||||
private String remark;
|
||||
|
||||
// Getters and Setters
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Long getPlanId() {
|
||||
return planId;
|
||||
}
|
||||
|
||||
public void setPlanId(Long planId) {
|
||||
this.planId = planId;
|
||||
}
|
||||
|
||||
public String getTaskName() {
|
||||
return taskName;
|
||||
}
|
||||
|
||||
public void setTaskName(String taskName) {
|
||||
this.taskName = taskName;
|
||||
}
|
||||
|
||||
public TaskCategoryEnum getTaskCategory() {
|
||||
return taskCategory;
|
||||
}
|
||||
|
||||
public void setTaskCategory(TaskCategoryEnum taskCategory) {
|
||||
this.taskCategory = taskCategory;
|
||||
}
|
||||
|
||||
public TaskTypeEnum getTaskType() {
|
||||
return taskType;
|
||||
}
|
||||
|
||||
public void setTaskType(TaskTypeEnum taskType) {
|
||||
this.taskType = taskType;
|
||||
}
|
||||
|
||||
public ExecuteTypeEnum getExecuteType() {
|
||||
return executeType;
|
||||
}
|
||||
|
||||
public void setExecuteType(ExecuteTypeEnum executeType) {
|
||||
this.executeType = executeType;
|
||||
}
|
||||
|
||||
public Long getRouteId() {
|
||||
return routeId;
|
||||
}
|
||||
|
||||
public void setRouteId(Long routeId) {
|
||||
this.routeId = routeId;
|
||||
}
|
||||
|
||||
public Long getUavId() {
|
||||
return uavId;
|
||||
}
|
||||
|
||||
public void setUavId(Long uavId) {
|
||||
this.uavId = uavId;
|
||||
}
|
||||
|
||||
public StatusEnum getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(StatusEnum status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public Date getStartTime() {
|
||||
return startTime;
|
||||
}
|
||||
|
||||
public void setStartTime(Date startTime) {
|
||||
this.startTime = startTime;
|
||||
}
|
||||
|
||||
public Date getEndTime() {
|
||||
return endTime;
|
||||
}
|
||||
|
||||
public void setEndTime(Date endTime) {
|
||||
this.endTime = endTime;
|
||||
}
|
||||
|
||||
public Date getActualStartTime() {
|
||||
return actualStartTime;
|
||||
}
|
||||
|
||||
public void setActualStartTime(Date actualStartTime) {
|
||||
this.actualStartTime = actualStartTime;
|
||||
}
|
||||
|
||||
public Date getActualEndTime() {
|
||||
return actualEndTime;
|
||||
}
|
||||
|
||||
public void setActualEndTime(Date actualEndTime) {
|
||||
this.actualEndTime = actualEndTime;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
public String getRemark() {
|
||||
return remark;
|
||||
}
|
||||
|
||||
public void setRemark(String remark) {
|
||||
this.remark = remark;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "TaskDTO{" +
|
||||
"id=" + id +
|
||||
", planId=" + planId +
|
||||
", taskName='" + taskName + '\'' +
|
||||
", taskCategory=" + taskCategory +
|
||||
", taskType=" + taskType +
|
||||
", executeType=" + executeType +
|
||||
", routeId=" + routeId +
|
||||
", uavId=" + uavId +
|
||||
", status=" + status +
|
||||
", startTime=" + startTime +
|
||||
", endTime=" + endTime +
|
||||
", actualStartTime=" + actualStartTime +
|
||||
", actualEndTime=" + actualEndTime +
|
||||
", description='" + description + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
package com.ruoyi.task.api.domain;
|
||||
|
||||
import com.ruoyi.task.api.enums.*;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 任务计划DTO
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2026-03-06
|
||||
*/
|
||||
@Data
|
||||
public class TaskPlanDTO {
|
||||
|
||||
/**
|
||||
* 任务计划ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 计划名称
|
||||
*/
|
||||
private String planName;
|
||||
|
||||
/**
|
||||
* 计划类型
|
||||
*/
|
||||
private PlanTypeEnum planType;
|
||||
|
||||
/**
|
||||
* 执行类型
|
||||
*/
|
||||
private ExecuteTypeEnum executeType;
|
||||
|
||||
/**
|
||||
* 周期类型
|
||||
*/
|
||||
private CycleTypeEnum cycleType;
|
||||
|
||||
/**
|
||||
* 周期值
|
||||
*/
|
||||
private String cycleValue;
|
||||
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
private Date startDate;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
private Date endDate;
|
||||
|
||||
/**
|
||||
* 执行时间
|
||||
*/
|
||||
private Date executeTime;
|
||||
|
||||
/**
|
||||
* 航线ID
|
||||
*/
|
||||
private Long routeId;
|
||||
|
||||
/**
|
||||
* 无人机ID
|
||||
*/
|
||||
private Long uavId;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
private StatusEnum status;
|
||||
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 持续时间(分钟)
|
||||
*/
|
||||
private Integer duration;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
package com.ruoyi.task.api.domain;
|
||||
|
||||
import com.ruoyi.task.api.enums.CycleTypeEnum;
|
||||
import com.ruoyi.task.api.enums.PlanTypeEnum;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 任务计划查询DTO
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2026-03-06
|
||||
*/
|
||||
@Data
|
||||
public class TaskPlanQueryDTO {
|
||||
|
||||
/**
|
||||
* 任务计划ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 计划类型
|
||||
*/
|
||||
private PlanTypeEnum planType;
|
||||
|
||||
/**
|
||||
* 周期类型
|
||||
*/
|
||||
private CycleTypeEnum cycleType;
|
||||
|
||||
/**
|
||||
* 航线ID
|
||||
*/
|
||||
private Long routeId;
|
||||
|
||||
/**
|
||||
* 无人机ID
|
||||
*/
|
||||
private Long uavId;
|
||||
|
||||
/**
|
||||
* 开始时间起始
|
||||
*/
|
||||
private Date startDateStart;
|
||||
|
||||
/**
|
||||
* 开始时间结束
|
||||
*/
|
||||
private Date startDateEnd;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
package com.ruoyi.task.api.domain;
|
||||
|
||||
import com.ruoyi.task.api.enums.CycleTypeEnum;
|
||||
import com.ruoyi.task.api.enums.PlanTypeEnum;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 任务查询DTO
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2026-03-06
|
||||
*/
|
||||
@Data
|
||||
public class TaskQueryDTO {
|
||||
|
||||
/**
|
||||
* 任务ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 计划类型
|
||||
*/
|
||||
private PlanTypeEnum planType;
|
||||
|
||||
/**
|
||||
* 周期类型
|
||||
*/
|
||||
private CycleTypeEnum cycleType;
|
||||
|
||||
/**
|
||||
* 航线ID
|
||||
*/
|
||||
private Long routeId;
|
||||
|
||||
/**
|
||||
* 无人机ID
|
||||
*/
|
||||
private Long uavId;
|
||||
|
||||
/**
|
||||
* 开始时间起始
|
||||
*/
|
||||
private Date startDateStart;
|
||||
|
||||
/**
|
||||
* 开始时间结束
|
||||
*/
|
||||
private Date startDateEnd;
|
||||
|
||||
}
|
||||
|
|
@ -2,12 +2,18 @@ package com.ruoyi.task.api.factory;
|
|||
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.task.api.RemoteTaskService;
|
||||
import com.ruoyi.task.api.domain.TaskDTO;
|
||||
import com.ruoyi.task.api.domain.TaskQueryDTO;
|
||||
import com.ruoyi.task.api.domain.TaskTempVO;
|
||||
import com.ruoyi.task.api.enums.StatusEnum;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.cloud.openfeign.FallbackFactory;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 任务服务降级处理
|
||||
*
|
||||
|
|
@ -26,9 +32,51 @@ public class RemoteTaskFallbackFactory implements FallbackFactory<RemoteTaskServ
|
|||
return new RemoteTaskService()
|
||||
{
|
||||
@Override
|
||||
public R<TaskTempVO> getTaskById(String id, String source)
|
||||
public R<TaskTempVO> getTaskTempById(String id, String source)
|
||||
{
|
||||
return R.fail("获取任务信息失败:" + throwable.getMessage());
|
||||
return R.fail("获取任务临时表信息失败:" + throwable.getMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<Long> createTaskWithoutPlan(TaskDTO taskDTO, String source) {
|
||||
return R.fail("创建任务失败");
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<TaskDTO> getTaskById(Long taskId, String source) {
|
||||
return R.fail("获取任务失败");
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<List<TaskDTO>> getTaskList(TaskQueryDTO queryDTO, String source) {
|
||||
return R.ok(Collections.emptyList());
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<Boolean> updateTask(TaskDTO taskDTO, String source) {
|
||||
return R.fail("更新任务失败");
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<Boolean> deleteTask(Long taskId, String source) {
|
||||
return R.fail("删除任务失败");
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<List<TaskDTO>> getTaskByUavId(Long uavId, String source) {
|
||||
return R.ok(Collections.emptyList());
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<TaskDTO> getCurrentTaskByUavId(Long uavId, String source) {
|
||||
return R.fail("获取最新任务失败");
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public R<Boolean> updateTaskStatus(Long taskId, StatusEnum status, String source) {
|
||||
return R.fail("修改执行状态失败");
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,61 @@
|
|||
package com.ruoyi.task.api.factory;
|
||||
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.task.api.RemoteTaskPlanService;
|
||||
import com.ruoyi.task.api.domain.TaskPlanDTO;
|
||||
import com.ruoyi.task.api.domain.TaskPlanQueryDTO;
|
||||
import org.springframework.cloud.openfeign.FallbackFactory;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 任务计划服务降级处理
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2026-03-06
|
||||
*/
|
||||
@Component
|
||||
public class RemoteTaskPlanFallbackFactory implements FallbackFactory<RemoteTaskPlanService>
|
||||
{
|
||||
private static final Logger log = LoggerFactory.getLogger(RemoteTaskPlanFallbackFactory.class);
|
||||
|
||||
@Override
|
||||
public RemoteTaskPlanService create(Throwable throwable) {
|
||||
log.error("任务计划服务调用失败: {}", throwable.getMessage());
|
||||
return new RemoteTaskPlanService() {
|
||||
@Override
|
||||
public R<Long> createTimedTaskPlan(TaskPlanDTO taskPlanDTO, String source) {
|
||||
return R.fail("创建定时任务计划失败");
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<Long> createCycleTaskPlan(TaskPlanDTO taskPlanDTO, String source) {
|
||||
return R.fail("创建周期任务计划失败");
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<TaskPlanDTO> getTaskPlanById(Long planId, String source) {
|
||||
return R.fail("获取任务计划失败");
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<List<TaskPlanDTO>> getTaskPlanList(TaskPlanQueryDTO queryDTO, String source) {
|
||||
return R.ok(Collections.emptyList());
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<Boolean> updateTaskPlan(TaskPlanDTO taskPlanDTO, String source) {
|
||||
return R.fail("更新任务计划失败");
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<Boolean> deleteTaskPlan(Long planId, String source) {
|
||||
return R.fail("删除任务计划失败");
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue