From 2db1aa88e8ab53096a936163d686b90d8e056a99 Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Wed, 21 Aug 2024 23:18:33 +0800
Subject: [PATCH] 国土对接返回信息加密

---
 src/main/java/com/dji/sample/droneairport/service/RegistService.java |  102 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 96 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/dji/sample/droneairport/service/RegistService.java b/src/main/java/com/dji/sample/droneairport/service/RegistService.java
index 0414c0b..a4e7e29 100644
--- a/src/main/java/com/dji/sample/droneairport/service/RegistService.java
+++ b/src/main/java/com/dji/sample/droneairport/service/RegistService.java
@@ -1,14 +1,104 @@
 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);
 }

--
Gitblit v1.9.3