package com.dji.sample.droneairport.service; import com.dji.sample.common.model.ResponseResult; import com.dji.sample.droneairport.model.Entity.DeviceExpanSionEntity; import com.dji.sample.droneairport.model.param.ReturnTaskParam; import java.util.List; public interface RegistService { /** * 注册端口 * * 该方法用于在系统中注册一个设备扩展端口的信息它接收一个DeviceExpanSionEntity对象作为参数, * 其中包含了设备扩展端口的相关信息这个方法的主要目的是将这个端口信息添加到系统的数据库中, * 以便于系统能够识别和管理这个端口 * * @param airport 设备扩展端口实体对象,包含了需要注册的端口信息 * @return 注册操作的状态信息,通常是一个字符串,比如"成功"或"失败" */ String registPort(DeviceExpanSionEntity airport); String addDrone(String workspceId); /** * 获取无人机状态信息 * * @param deviceId 无人机的设备ID,用于唯一标识一台无人机 * @return 返回一个包含无人机状态信息的ResponseResult对象 * @throws Exception 如果在获取无人机状态过程中发生错误,将抛出异常 */ String getDroneState(String deviceId) throws Exception; /** * 执行授权操作 * * @param base64 经过Base64编码的字符串,通常用于身份验证 * @param Secret 应用的密钥,用于生成签名 * @return 返回授权结果,包括成功与否、错误信息等 * @throws Exception 如果授权过程中出现错误,可能会抛出异常 */ ResponseResult authorization(String base64, String Secret) throws Exception; /** * 添加任务接口 * 该方法将基础64编码的配置信息、密钥和用户名作为参数,实现任务的添加 * * @param base64 基础64编码的配置信息,用于任务的初始化和配置 * @param Secret 任务的密钥,用于安全验证和任务的唯一标识 * @param username 执行任务的用户名,用于权限验证和任务分配 * @return 返回一个包含任务添加结果的ReturnParam对象,具体结果包括成功与否、错误信息等 * @throws Exception 如果在任务添加过程中发生错误,将抛出异常 */ ReturnTaskParam AddTask(String base64, String Secret, String username) throws Exception; /** * 更新任务状态 * * @param base64 经过Base64编码的字符串,用于标识任务 * @param Secret 与任务相关的密钥,用于安全验证 * @param username 执行任务的用户名,用于权限校验 * @return 包含更新后任务状态信息的返回参数 * @throws Exception 如果更新任务状态过程中发生错误,将抛出异常 */ ReturnTaskParam updateTask(String base64, String Secret, String username) throws Exception; /** * 取消指定任务 * * @param taskId 任务ID,用于标识待取消的任务 * @return 返回任务取消操作的结果,包含是否成功及可能的错误信息 */ ResponseResult cancelTask(String taskId); /** * 查询任务状态 * 此方法用于根据设备ID查询设备任务的状态 * * @param deviceId 设备ID,用于标识特定的设备 * @return 返回一个ResponseResult对象,包含查询到的任务状态信息 */ ResponseResult queryTaskStatus(String taskid); List findDbFilesByTaskId(String taskId); }