From a3360878835e4606c968441e432b0c3d4bd921ae Mon Sep 17 00:00:00 2001
From: sean.zhou <sean.zhou@dji.com>
Date: Fri, 23 Sep 2022 18:04:07 +0800
Subject: [PATCH] V1.2.0

---
 src/main/java/com/dji/sample/manage/controller/DeviceController.java |   45 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 45 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/dji/sample/manage/controller/DeviceController.java b/src/main/java/com/dji/sample/manage/controller/DeviceController.java
index ad2579a..e9d80c0 100644
--- a/src/main/java/com/dji/sample/manage/controller/DeviceController.java
+++ b/src/main/java/com/dji/sample/manage/controller/DeviceController.java
@@ -7,6 +7,7 @@
 import com.dji.sample.component.mqtt.model.CommonTopicResponse;
 import com.dji.sample.component.websocket.service.ISendMessageService;
 import com.dji.sample.manage.model.dto.DeviceDTO;
+import com.dji.sample.manage.model.dto.DeviceFirmwareUpgradeDTO;
 import com.dji.sample.manage.model.receiver.FirmwareVersionReceiver;
 import com.dji.sample.manage.model.receiver.StatusGatewayReceiver;
 import com.dji.sample.manage.service.IDeviceService;
@@ -84,6 +85,10 @@
         return ResponseResult.success(devicesList);
     }
 
+    /**
+     * Handle osd topic messages.
+     * @param message
+     */
     @ServiceActivator(inputChannel = ChannelName.INBOUND_OSD)
     public void osdRealTime(Message<?> message) {
         String topic = message.getHeaders().get(MqttHeaders.RECEIVED_TOPIC).toString();
@@ -91,11 +96,21 @@
         deviceService.handleOSD(topic, payload);
     }
 
+    /**
+     * Receive the reported firmware version data.
+     * @param receiver
+     */
     @ServiceActivator(inputChannel = ChannelName.INBOUND_STATE_FIRMWARE_VERSION)
     public void updateFirmwareVersion(FirmwareVersionReceiver receiver) {
         deviceService.updateFirmwareVersion(receiver);
     }
 
+    /**
+     * After binding the device to the workspace, the device data can only be seen on the web.
+     * @param device
+     * @param deviceSn
+     * @return
+     */
     @PostMapping("/{device_sn}/binding")
     public ResponseResult bindDevice(@RequestBody DeviceDTO device, @PathVariable("device_sn") String deviceSn) {
         device.setDeviceSn(deviceSn);
@@ -103,6 +118,12 @@
         return isUpd ? ResponseResult.success() : ResponseResult.error();
     }
 
+    /**
+     * Obtain device information according to device sn.
+     * @param workspaceId
+     * @param deviceSn
+     * @return
+     */
     @GetMapping("/{workspace_id}/devices/{device_sn}")
     public ResponseResult getDevice(@PathVariable("workspace_id") String workspaceId,
                                                @PathVariable("device_sn") String deviceSn) {
@@ -127,12 +148,24 @@
         return ResponseResult.success(devices);
     }
 
+    /**
+     * Removing the binding state of the device.
+     * @param deviceSn
+     * @return
+     */
     @DeleteMapping("/{device_sn}/unbinding")
     public ResponseResult unbindingDevice(@PathVariable("device_sn") String deviceSn) {
         deviceService.unbindDevice(deviceSn);
         return ResponseResult.success();
     }
 
+    /**
+     * Update device information.
+     * @param device
+     * @param workspaceId
+     * @param deviceSn
+     * @return
+     */
     @PutMapping("/{workspace_id}/devices/{device_sn}")
     public ResponseResult updateDevice(@RequestBody DeviceDTO device,
                                        @PathVariable("workspace_id") String workspaceId,
@@ -141,4 +174,16 @@
         boolean isUpd = deviceService.updateDevice(device);
         return isUpd ? ResponseResult.success() : ResponseResult.error();
     }
+
+    /**
+     * Delivers offline firmware upgrade tasks.
+     * @param workspaceId
+     * @param upgradeDTOS
+     * @return
+     */
+    @PostMapping("/{workspace_id}/devices/ota")
+    public ResponseResult createOtaJob(@PathVariable("workspace_id") String workspaceId,
+                                       @RequestBody List<DeviceFirmwareUpgradeDTO> upgradeDTOS) {
+        return deviceService.createDeviceOtaJob(workspaceId, upgradeDTOS);
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3