From 2d8ded3e77b22e44985265ca4063102662e452c1 Mon Sep 17 00:00:00 2001
From: sean.zhou <sean.zhou@dji.com>
Date: Mon, 12 Dec 2022 18:32:19 +0800
Subject: [PATCH] initial v1.3.1

---
 src/main/java/com/dji/sample/manage/service/IDeviceService.java |   47 ++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 42 insertions(+), 5 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 911edb7..ff41435 100644
--- a/src/main/java/com/dji/sample/manage/service/IDeviceService.java
+++ b/src/main/java/com/dji/sample/manage/service/IDeviceService.java
@@ -1,18 +1,24 @@
 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.CommonTopicReceiver;
 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.DeviceSetPropertyEnum;
 import com.dji.sample.manage.model.param.DeviceQueryParam;
 import com.dji.sample.manage.model.receiver.FirmwareVersionReceiver;
 import com.dji.sample.manage.model.receiver.StatusGatewayReceiver;
+import com.fasterxml.jackson.databind.JsonNode;
+import org.springframework.messaging.Message;
 import org.springframework.messaging.MessageHeaders;
 
 import java.util.Collection;
 import java.util.List;
+import java.util.Map;
 import java.util.Optional;
 
 /**
@@ -31,10 +37,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.
@@ -131,10 +137,9 @@
 
     /**
      * Handle messages from the osd topic.
-     * @param topic     osd
-     * @param payload
+     * @param message     osd
      */
-    void handleOSD(String topic, byte[] payload);
+    void handleOSD(Message<?> message);
 
     /**
      * Update the device information.
@@ -195,4 +200,36 @@
      * @param receiver
      */
     void updateFirmwareVersion(FirmwareVersionReceiver receiver);
+
+    /**
+     * 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);
+
+    /**
+     * Determine if the device is online.
+     * @param sn
+     * @return
+     */
+    Boolean checkDeviceOnline(String sn);
 }
\ No newline at end of file

--
Gitblit v1.9.3