a-tuoheng-task/src/main/java/com/ruoyi/task/controller/TaskController.java

144 lines
4.2 KiB
Java
Raw Normal View History

2026-03-06 14:34:29 +08:00
package com.ruoyi.task.controller;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.security.annotation.InnerAuth;
2026-03-09 09:30:28 +08:00
import com.ruoyi.task.api.domain.TaskDTO;
2026-03-06 14:34:29 +08:00
import com.ruoyi.task.service.dto.TaskQueryDTO;
import com.ruoyi.task.api.enums.StatusEnum;
import com.ruoyi.task.service.api.ITaskService;
2026-03-09 09:30:28 +08:00
import com.ruoyi.task.controller.convert.TaskControllerConvert;
2026-03-06 14:34:29 +08:00
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 任务Controller
*
* @author ruoyi
* @date 2026-01-17
*/
@RestController
@RequestMapping("/task")
public class TaskController extends BaseController
{
@Autowired
private ITaskService taskService;
/**
* 创建无关联计划的任务
*/
@PostMapping
2026-03-09 09:30:28 +08:00
public R<Long> createTaskWithoutPlan(@RequestBody com.ruoyi.task.api.domain.TaskDTO taskDTO)
2026-03-06 14:34:29 +08:00
{
2026-03-09 09:30:28 +08:00
Long taskId = taskService.createTaskWithoutPlan(TaskControllerConvert.to(taskDTO));
return R.ok(taskId);
2026-03-06 14:34:29 +08:00
}
/**
* 获取任务详细信息
*/
@GetMapping(value = "/{taskId}")
2026-03-09 09:30:28 +08:00
public R<com.ruoyi.task.api.domain.TaskDTO> getTaskById(@PathVariable("taskId") Long taskId)
2026-03-06 14:34:29 +08:00
{
2026-03-09 09:30:28 +08:00
return R.ok(TaskControllerConvert.from(taskService.getTaskById(taskId)));
2026-03-06 14:34:29 +08:00
}
/**
* 复杂条件查询任务列表
*/
@PostMapping("/list")
2026-03-09 09:30:28 +08:00
public R<List<com.ruoyi.task.api.domain.TaskDTO>> list(@RequestBody TaskQueryDTO queryDTO)
2026-03-06 14:34:29 +08:00
{
2026-03-09 09:30:28 +08:00
return R.ok(TaskControllerConvert.fromList(taskService.getTaskList(queryDTO)));
2026-03-06 14:34:29 +08:00
}
/**
* 更新任务
*/
@PutMapping
2026-03-09 09:30:28 +08:00
public R<Boolean> updateTask(@RequestBody com.ruoyi.task.api.domain.TaskDTO taskDTO)
2026-03-06 14:34:29 +08:00
{
2026-03-09 09:30:28 +08:00
boolean result = taskService.updateTask(TaskControllerConvert.to(taskDTO));
return R.ok(result);
2026-03-06 14:34:29 +08:00
}
/**
* 删除任务
*/
@DeleteMapping("/{taskId}")
2026-03-09 09:30:28 +08:00
public R<Boolean> deleteTask(@PathVariable("taskId") Long taskId)
2026-03-06 14:34:29 +08:00
{
boolean result = taskService.deleteTask(taskId);
2026-03-09 09:30:28 +08:00
return R.ok(result);
2026-03-06 14:34:29 +08:00
}
/**
* 根据无人机ID查询任务列表
*/
@GetMapping("/uav/{uavId}")
2026-03-09 09:30:28 +08:00
public R<List<com.ruoyi.task.api.domain.TaskDTO>> getTaskByUavId(@PathVariable("uavId") Long uavId)
2026-03-06 14:34:29 +08:00
{
2026-03-09 09:30:28 +08:00
return R.ok(TaskControllerConvert.fromList(taskService.getTaskByUavId(uavId)));
2026-03-06 14:34:29 +08:00
}
/**
* 根据无人机ID获取最新的一条任务
*/
@GetMapping("/uav/current/{uavId}")
2026-03-09 09:30:28 +08:00
public R<com.ruoyi.task.api.domain.TaskDTO> getCurrentTaskByUavId(@PathVariable("uavId") Long uavId)
2026-03-06 14:34:29 +08:00
{
2026-03-09 09:30:28 +08:00
return R.ok(TaskControllerConvert.from(taskService.getCurrentTaskByUavId(uavId)));
2026-03-06 14:34:29 +08:00
}
/**
* 修改执行状态
*/
@PutMapping("/status/{taskId}")
2026-03-09 09:30:28 +08:00
public R<Boolean> updateTaskStatus(@PathVariable("taskId") Long taskId, @RequestParam("status") StatusEnum status)
2026-03-06 14:34:29 +08:00
{
boolean result = taskService.updateTaskStatus(taskId, status);
2026-03-09 09:30:28 +08:00
return R.ok(result);
2026-03-06 14:34:29 +08:00
}
/**
* 内部调用 - 获取任务详细信息
*/
@InnerAuth
@GetMapping(value = "/inner/{taskId}")
public R<TaskDTO> getTaskByIdInner(@PathVariable("taskId") Long taskId)
{
2026-03-09 09:30:28 +08:00
return R.ok(TaskControllerConvert.from(taskService.getTaskById(taskId)));
2026-03-06 14:34:29 +08:00
}
/**
* 内部调用 - 复杂条件查询任务列表
*/
@InnerAuth
@PostMapping("/inner/list")
public R<List<TaskDTO>> listInner(@RequestBody TaskQueryDTO queryDTO)
{
2026-03-09 09:30:28 +08:00
return R.ok(TaskControllerConvert.fromList(taskService.getTaskList(queryDTO)));
2026-03-06 14:34:29 +08:00
}
/**
* 内部调用 - 根据无人机ID查询任务列表
*/
@InnerAuth
@GetMapping("/inner/uav/{uavId}")
public R<List<TaskDTO>> getTaskByUavIdInner(@PathVariable("uavId") Long uavId)
{
2026-03-09 09:30:28 +08:00
return R.ok(TaskControllerConvert.fromList(taskService.getTaskByUavId(uavId)));
2026-03-06 14:34:29 +08:00
}
/**
* 内部调用 - 根据无人机ID获取最新的一条任务
*/
@InnerAuth
@GetMapping("/inner/uav/current/{uavId}")
public R<TaskDTO> getCurrentTaskByUavIdInner(@PathVariable("uavId") Long uavId)
{
2026-03-09 09:30:28 +08:00
return R.ok(TaskControllerConvert.from(taskService.getCurrentTaskByUavId(uavId)));
2026-03-06 14:34:29 +08:00
}
}