From a7aaeabc7873a0eafb4a7ecad7f65b018b7a9bc9 Mon Sep 17 00:00:00 2001
From: sean.zhou <sean.zhou@dji.com>
Date: Fri, 24 Feb 2023 19:31:23 +0800
Subject: [PATCH] What's new? 1. Add license for dock. 2. Modify the logic corresponding to the firmware file and device type. 3. Add multiple mqtt clients options. 4. Modify the structure of the interface for obtaining the device list. 5. Fixed some issues.

---
 src/main/java/com/dji/sample/component/ApplicationBootInitial.java |   21 ++++++++-------------
 1 files changed, 8 insertions(+), 13 deletions(-)

diff --git a/src/main/java/com/dji/sample/component/ApplicationBootInitial.java b/src/main/java/com/dji/sample/component/ApplicationBootInitial.java
index 226fe1a..d99f58d 100644
--- a/src/main/java/com/dji/sample/component/ApplicationBootInitial.java
+++ b/src/main/java/com/dji/sample/component/ApplicationBootInitial.java
@@ -1,14 +1,11 @@
 package com.dji.sample.component;
 
-import com.dji.sample.manage.model.DeviceStatusManager;
-import com.dji.sample.manage.model.enums.DeviceDomainEnum;
-import com.dji.sample.manage.model.param.DeviceQueryParam;
+import com.dji.sample.component.redis.RedisConst;
+import com.dji.sample.component.redis.RedisOpsUtils;
 import com.dji.sample.manage.service.IDeviceService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.CommandLineRunner;
 import org.springframework.stereotype.Component;
-
-import java.time.LocalDateTime;
 
 /**
  * @author sean.zhou
@@ -22,19 +19,17 @@
     private IDeviceService deviceService;
 
     /**
-     * Subscribe to the devices that exist in the database when the program starts,
+     * Subscribe to the devices that exist in the redis when the program starts,
      * to prevent the data from being different from the pilot side due to program interruptions.
      * @param args
      * @throws Exception
      */
     @Override
     public void run(String... args) throws Exception {
-        deviceService.getDevicesByParams(DeviceQueryParam.builder().build())
-                .forEach(device -> {
-                    deviceService.subscribeTopicOnline(device.getDeviceSn());
-                    DeviceStatusManager.STATUS_MANAGER.put(
-                            DeviceDomainEnum.getVal(device.getDomain()) + "/"
-                                    + device.getDeviceSn(), LocalDateTime.now());
-                });
+        int start = RedisConst.DEVICE_ONLINE_PREFIX.length();
+
+        RedisOpsUtils.getAllKeys(RedisConst.DEVICE_ONLINE_PREFIX + "*")
+                .forEach(key -> deviceService.subscribeTopicOnline(key.substring(start)));
+
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3