| | |
| | | package com.dji.sample.droneairport.service; |
| | | |
| | | import com.dji.sample.droneairport.model.dto.DroneStateDto; |
| | | import com.dji.sample.droneairport.model.param.AddDeviceParam; |
| | | import com.dji.sample.droneairport.model.param.RegistParam; |
| | | import com.dji.sample.common.model.ResponseResult; |
| | | import com.dji.sample.droneairport.model.Entity.DeviceExpanSionEntity; |
| | | import com.dji.sample.droneairport.model.param.ReturnTaskParam; |
| | | import org.bouncycastle.crypto.InvalidCipherTextException; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.IOException; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | public interface RegistService { |
| | | |
| | | String registPort(RegistParam param); |
| | | /** |
| | | * 推送无人机机场信息 |
| | | */ |
| | | String registPort(DeviceExpanSionEntity airport); |
| | | |
| | | String addDrone(AddDeviceParam param); |
| | | /** |
| | | * 推送无人机设备 |
| | | * |
| | | * @param workspceId 接收workspaceId,自动将该工作空间的机场以及无人机设备推送 |
| | | * @return 返回推送接口后返回的信息 |
| | | */ |
| | | String addDrone(String workspceId); |
| | | |
| | | DroneStateDto getDroneState(String deviceId); |
| | | /** |
| | | * 获取无人机状态信息 |
| | | * |
| | | * @param deviceId 无人机的设备ID,用于唯一标识一台无人机 |
| | | * @return 返回一个包含无人机状态信息的ResponseResult对象 |
| | | * @throws Exception 如果在获取无人机状态过程中发生错误,将抛出异常 |
| | | */ |
| | | Map<String, String> getDroneState(String deviceId) throws Exception; |
| | | |
| | | /** |
| | | * 执行授权操作 |
| | | * |
| | | * @return 返回授权结果,包括成功与否、错误信息等 |
| | | * @throws Exception 如果授权过程中出现错误,可能会抛出异常 |
| | | */ |
| | | void noAuthorization(String sn); |
| | | |
| | | void Authorization(String sn); |
| | | /** |
| | | * 添加任务接口 |
| | | * 该方法将基础64编码的配置信息、密钥和用户名作为参数,实现任务的添加 |
| | | * |
| | | * @param base64 基础64编码的配置信息,用于任务的初始化和配置 |
| | | * @param Secret 任务的密钥,用于安全验证和任务的唯一标识 |
| | | * @param username 执行任务的用户名,用于权限验证和任务分配 |
| | | * @return 返回一个包含任务添加结果的ReturnParam对象,具体结果包括成功与否、错误信息等 |
| | | * @throws Exception 如果在任务添加过程中发生错误,将抛出异常 |
| | | */ |
| | | Map<String, String> AddTask(String base64, String Secret, String username) throws Exception; |
| | | |
| | | /** |
| | | * 更新任务状态 |
| | | * |
| | | * @param base64 经过Base64编码的字符串,用于标识任务 |
| | | * @param Secret 与任务相关的密钥,用于安全验证 |
| | | * @param username 执行任务的用户名,用于权限校验 |
| | | * @return 包含更新后任务状态信息的返回参数 |
| | | * @throws Exception 如果更新任务状态过程中发生错误,将抛出异常 |
| | | */ |
| | | Map<String, String> updateTask(String base64, String Secret, String username) throws Exception; |
| | | |
| | | /** |
| | | * 取消指定任务 |
| | | * |
| | | * @param taskId 任务ID,用于标识待取消的任务 |
| | | * @return 返回任务取消操作的结果,包含是否成功及可能的错误信息 |
| | | */ |
| | | Map<String, String> cancelTask(String taskId) throws InvalidCipherTextException, IOException; |
| | | |
| | | /** |
| | | * 查询任务状态 |
| | | * 此方法用于根据设备ID查询设备任务的状态 |
| | | * |
| | | * @param taskid 设备ID,用于标识特定的设备 |
| | | * @return 返回一个ResponseResult对象,包含查询到的任务状态信息 |
| | | */ |
| | | ResponseResult queryTaskStatus(String taskid); |
| | | |
| | | /** |
| | | * 获取无人机拍摄的成果DB包下载地址 |
| | | * |
| | | * @param taskId 无人机的设备ID,用于唯一标识一台无人机 |
| | | * @return 返回一个包含无人机状态信息的ResponseResult对象 |
| | | * @throws Exception 如果在获取无人机状态过程中发生错误,将抛出异常 |
| | | */ |
| | | Map<String,String> findDbFilesByTaskId(String taskId) throws InvalidCipherTextException, IOException; |
| | | /** |
| | | * 获取指定工作空间中不同任务的总数 |
| | | * |
| | | * 此方法通过接收工作空间的ID,计算并返回该工作空间中不同任务的数量 |
| | | * 它用于度量工作空间中任务的多样性,帮助用户了解工作空间的任务分布情况 |
| | | * |
| | | * @param workspaceId 工作空间的唯一标识符 |
| | | * @return 工作空间中不同任务的数量 |
| | | */ |
| | | Integer getDistinctTaskIdCount(String workspaceId); |
| | | } |