添加controller层接口
This commit is contained in:
parent
da059bf1ad
commit
3e1e4d5e95
|
|
@ -22,6 +22,20 @@
|
||||||
<groupId>com.ruoyi</groupId>
|
<groupId>com.ruoyi</groupId>
|
||||||
<artifactId>ruoyi-common-core</artifactId>
|
<artifactId>ruoyi-common-core</artifactId>
|
||||||
</dependency>
|
</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>
|
</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.SecurityConstants;
|
||||||
import com.ruoyi.common.core.constant.ServiceNameConstants;
|
import com.ruoyi.common.core.constant.ServiceNameConstants;
|
||||||
import com.ruoyi.common.core.domain.R;
|
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.domain.TaskTempVO;
|
||||||
|
import com.ruoyi.task.api.enums.StatusEnum;
|
||||||
import com.ruoyi.task.api.factory.RemoteTaskFallbackFactory;
|
import com.ruoyi.task.api.factory.RemoteTaskFallbackFactory;
|
||||||
import org.springframework.cloud.openfeign.FeignClient;
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
|
||||||
import org.springframework.web.bind.annotation.RequestHeader;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 任务服务
|
* 任务服务
|
||||||
|
|
@ -20,12 +23,95 @@ import org.springframework.web.bind.annotation.RequestHeader;
|
||||||
public interface RemoteTaskService
|
public interface RemoteTaskService
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* 根据ID查询任务信息
|
* 根据ID查询任务临时表信息
|
||||||
*
|
*
|
||||||
* @param id 任务ID
|
* @param id 任务临时表ID
|
||||||
* @param source 请求来源
|
* @param source 请求来源
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@GetMapping("/task/temp/{id}")
|
@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.common.core.domain.R;
|
||||||
import com.ruoyi.task.api.RemoteTaskService;
|
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.domain.TaskTempVO;
|
||||||
|
import com.ruoyi.task.api.enums.StatusEnum;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.cloud.openfeign.FallbackFactory;
|
import org.springframework.cloud.openfeign.FallbackFactory;
|
||||||
import org.springframework.stereotype.Component;
|
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()
|
return new RemoteTaskService()
|
||||||
{
|
{
|
||||||
@Override
|
@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