From 68f80a7451a126335153ec00bb6cb520a5ae1f8d Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Mon, 13 Nov 2023 17:02:45 +0800
Subject: [PATCH] 定时任务逻辑修改

---
 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