From 74a8112ead11768006e9d923ad43d3cab50751ec Mon Sep 17 00:00:00 2001
From: zhaowenyu <35589726@qq.com>
Date: Tue, 28 Oct 2025 15:07:25 +0800
Subject: [PATCH] 2025-10-28 zwy 更新,更改机场设备离线状态

---
 ard-sample/src/main/java/com/ard/sample/manage/service/impl/DockOnlineServiceImpl.java |   33 +++++++++++++++++++++++++++++++++
 1 files changed, 33 insertions(+), 0 deletions(-)

diff --git a/ard-sample/src/main/java/com/ard/sample/manage/service/impl/DockOnlineServiceImpl.java b/ard-sample/src/main/java/com/ard/sample/manage/service/impl/DockOnlineServiceImpl.java
new file mode 100644
index 0000000..40613ca
--- /dev/null
+++ b/ard-sample/src/main/java/com/ard/sample/manage/service/impl/DockOnlineServiceImpl.java
@@ -0,0 +1,33 @@
+package com.ard.sample.manage.service.impl;
+
+import com.ard.common.core.redis.RedisOpsUtils;
+import com.ard.sample.manage.model.dto.DeviceDTO;
+import com.ard.sample.manage.service.IDeviceService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+@Component
+public class DockOnlineServiceImpl {
+
+    @Autowired
+    private IDeviceService _deviceService;
+
+    /**
+     * 定时任务,每5秒取一次机场设备的在线状态,如已离线更新状态
+     * */
+    @Scheduled(cron = "0/5 * * * * ?")
+    public void cronOnlineTask() {
+        List<DeviceDTO> devicesList = _deviceService.getDevicesTopoForWeb();
+        for (DeviceDTO device : devicesList) {
+            String key = "online:" + device.getDeviceSn();
+            //System.out.println("在线状态:"+RedisOpsUtils.checkExist(key));
+            // 更新机场设备状态:"3"-"设备已离线",
+            if(!RedisOpsUtils.checkExist(key)){
+                _deviceService.updateWorkType(device.getDeviceSn(), 3L);
+            }
+        }
+    }
+}

--
Gitblit v1.9.3