This commit is contained in:
孙小云 2026-03-06 11:29:41 +08:00
parent 43bedc1243
commit eaea5f0c82
2 changed files with 34 additions and 0 deletions

View File

@ -48,4 +48,11 @@ public interface ITaskService {
* @return 任务列表
*/
List<TaskDTO> getTaskByUavId(Long uavId);
/**
* 根据无人机ID获取最新的一条任务
* @param uavId 无人机ID
* @return 最新的任务DTO
*/
TaskDTO getCurrentTaskByUavId(Long uavId);
}

View File

@ -94,4 +94,31 @@ public class TaskServiceImpl implements ITaskService {
List<Task> tasks = taskDomain.getTaskList(task);
return TaskDTOConvert.toDTOList(tasks);
}
@Override
public TaskDTO getCurrentTaskByUavId(Long uavId) {
// 创建Task对象作为查询条件
Task task = new Task();
task.setUavId(uavId);
List<Task> tasks = taskDomain.getTaskList(task);
// 按照创建时间降序排序取最新的一条
if (!tasks.isEmpty()) {
tasks.sort((t1, t2) -> {
if (t1.getCreateTime() == null && t2.getCreateTime() == null) {
return 0;
} else if (t1.getCreateTime() == null) {
return 1;
} else if (t2.getCreateTime() == null) {
return -1;
} else {
return t2.getCreateTime().compareTo(t1.getCreateTime());
}
});
return TaskDTOConvert.toDTO(tasks.get(0));
}
return null;
}
}