From 8d9a2d656e4ae007590c622e5f7c228adacdca49 Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Fri, 14 Jun 2024 10:11:36 +0800
Subject: [PATCH] 统一风格

---
 src/main/java/com/dji/sample/manage/service/IDeviceService.java |  122 +++++++++++++++++++++++++++++++++++++---
 1 files changed, 111 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/dji/sample/manage/service/IDeviceService.java b/src/main/java/com/dji/sample/manage/service/IDeviceService.java
index 444d49d..7ae6af8 100644
--- a/src/main/java/com/dji/sample/manage/service/IDeviceService.java
+++ b/src/main/java/com/dji/sample/manage/service/IDeviceService.java
@@ -1,14 +1,23 @@
 package com.dji.sample.manage.service;
 
+import com.dji.sample.common.model.PaginationData;
+import com.dji.sample.common.model.ResponseResult;
 import com.dji.sample.component.mqtt.model.CommonTopicResponse;
 import com.dji.sample.component.websocket.config.ConcurrentWebSocketSession;
 import com.dji.sample.manage.model.dto.DeviceDTO;
+import com.dji.sample.manage.model.dto.DeviceFirmwareUpgradeDTO;
 import com.dji.sample.manage.model.dto.TopologyDeviceDTO;
+import com.dji.sample.manage.model.enums.DeviceModeCodeEnum;
+import com.dji.sample.manage.model.enums.DeviceSetPropertyEnum;
+import com.dji.sample.manage.model.enums.DockModeCodeEnum;
 import com.dji.sample.manage.model.param.DeviceQueryParam;
 import com.dji.sample.manage.model.receiver.StatusGatewayReceiver;
+import com.fasterxml.jackson.databind.JsonNode;
+import org.springframework.messaging.Message;
 
 import java.util.Collection;
 import java.util.List;
+import java.util.Map;
 import java.util.Optional;
 
 /**
@@ -27,10 +36,10 @@
 
     /**
      * The device goes offline.
-     * @param gatewaySn
+     * @param gateway
      * @return Whether the offline is successful.
      */
-    Boolean deviceOffline(String gatewaySn);
+    Boolean deviceOffline(StatusGatewayReceiver gateway);
 
     /**
      * The aircraft goes offline.
@@ -60,6 +69,7 @@
 
     /**
      * Obtain device data according to different query conditions.
+     * 根据不同的查询条件获取设备数据。
      * @param param query parameters
      * @return
      */
@@ -77,7 +87,7 @@
      * @param workspaceId
      * @return
      */
-    List<DeviceDTO> getDevicesTopoForWeb(String workspaceId);
+    List<DeviceDTO> getDevicesTopoForWeb(String workspaceId,String reserveId);
 
     /**
      * Set the remote controller and payloads information of the drone.
@@ -90,7 +100,7 @@
      * @param sessions  The collection of connection objects on the pilot side.
      * @param sn
      */
-    void pushDeviceOnlineTopo(Collection<ConcurrentWebSocketSession> sessions, String sn);
+    void pushDeviceOnlineTopo(Collection<ConcurrentWebSocketSession> sessions, String sn, String gatewaySn);
 
     /**
      * Query the information of the device according to the sn of the device.
@@ -111,9 +121,9 @@
      * it also broadcasts a push of device online, offline and topology update to PILOT via websocket,
      * and PILOT will get the device topology list again after receiving the push.
      * @param workspaceId
-     * @param gatewaySn
+     * @param sn
      */
-    void pushDeviceOfflineTopo(String workspaceId, String gatewaySn);
+    void pushDeviceOfflineTopo(String workspaceId, String sn);
 
     /**
      * When the server receives the request of any device online, offline and topology update in the same workspace,
@@ -123,13 +133,103 @@
      * @param deviceSn
      * @param gatewaySn
      */
-    void pushDeviceOnlineTopo(String workspaceId, String deviceSn, String gatewaySn);
+    void pushDeviceOnlineTopo(String workspaceId, String gatewaySn, String deviceSn);
 
     /**
      * Handle messages from the osd topic.
-     * @param topic     osd
-     * @param payload
+     * @param message     osd
      */
-    void handleOSD(String topic, byte[] payload);
+    void handleOSD(Message<?> message);
 
-}
\ No newline at end of file
+    /**
+     * Update the device information.
+     * @param deviceDTO
+     * @return
+     */
+    Boolean updateDevice(DeviceDTO deviceDTO);
+
+    /**
+     * Bind devices to organizations and people.
+     * @param device
+     */
+    Boolean bindDevice(DeviceDTO device);
+
+    /**
+     * Get the binding devices list in one workspace.
+     * @param workspaceId
+     * @param page
+     * @param pageSize
+     * @param domain
+     * @return
+     */
+    PaginationData<DeviceDTO> getBoundDevicesWithDomain(String workspaceId, Long page, Long pageSize, Integer domain);
+
+    /**
+     * Unbind device base on device's sn.
+     * @param deviceSn
+     */
+    void unbindDevice(String deviceSn);
+
+    /**
+     * Get device information based on device's sn.
+     * 根据设备码获取设备信息
+     * @param sn device's sn
+     * @return device
+     */
+    Optional<DeviceDTO> getDeviceBySn(String sn);
+
+    /**
+     * Create job for device firmware updates.
+     * @param workspaceId
+     * @param upgradeDTOS
+     * @return
+     */
+    ResponseResult createDeviceOtaJob(String workspaceId, List<DeviceFirmwareUpgradeDTO> upgradeDTOS);
+
+    /**
+     * Set the property parameters of the drone.
+     * @param workspaceId
+     * @param dockSn
+     * @param propertyEnum
+     * @param param
+     */
+    void devicePropertySet(String workspaceId, String dockSn, DeviceSetPropertyEnum propertyEnum, JsonNode param);
+
+    /**
+     * Set one property parameters of the drone.
+     * @param topic
+     * @param propertyEnum
+     * @param value
+     */
+    void deviceOnePropertySet(String topic, DeviceSetPropertyEnum propertyEnum, Map.Entry<String, Object> value);
+
+    /**
+     * Check the working status of the dock.
+     * @param dockSn
+     * @return
+     */
+    DockModeCodeEnum getDockMode(String dockSn);
+
+    /**
+     * Query the working status of the aircraft.
+     * 查询飞行器的工作状态
+     * @param deviceSn
+     * @return
+     */
+    DeviceModeCodeEnum getDeviceMode(String deviceSn);
+
+    /**
+     * Check if the dock is in drc mode.
+     * @param dockSn
+     * @return
+     */
+    Boolean checkDockDrcMode(String dockSn);
+
+    /**
+     * Check if the device has flight control.
+     * @param gatewaySn
+     * @return
+     */
+    Boolean checkAuthorityFlight(String gatewaySn);
+
+}

--
Gitblit v1.9.3