From 5c82602d54928cc414177084ab6d81cef4c11d15 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期二, 11 三月 2025 09:33:25 +0800
Subject: [PATCH] getosd数组下标越界问题 以及 离线时间

---
 ycl-server/src/main/java/com/ycl/task/PlatformTask.java |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/task/PlatformTask.java b/ycl-server/src/main/java/com/ycl/task/PlatformTask.java
index f9ca8df..88a6f7c 100644
--- a/ycl-server/src/main/java/com/ycl/task/PlatformTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/PlatformTask.java
@@ -12,8 +12,11 @@
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Component;
 
+import javax.swing.text.DateFormatter;
 import java.io.IOException;
 import java.net.InetAddress;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.Date;
 import java.util.List;
 import java.util.Objects;
@@ -74,7 +77,11 @@
                     }
                     if (!reachable) {
                         // 濡傛灉ping涓嶉�氾紝绂荤嚎鏃堕暱鍔�5绉�
-                        redisTemplate.opsForValue().increment(REDIS_KEY_PREFIX + platform.getPlatformIP(), 5);
+                        LocalDateTime localDateTime = LocalDateTime.now();
+                        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+                        String todayTime = localDateTime.format(dateTimeFormatter);
+                        //姣忔redis绱5s
+                        redisTemplate.opsForValue().increment(REDIS_KEY_PREFIX + todayTime + platform.getPlatformIP(), 5);
                         log.warn(platform.getPlatformName() + "骞冲彴鏈猵ing閫�");
                     }
                 } catch (Exception e) {
@@ -94,9 +101,11 @@
                 .list();
         // 灏唈ava.util.Date杞崲涓簀ava.sql.Date
         java.sql.Date sqlDate = new java.sql.Date(new Date().getTime());
-
+        LocalDateTime localDateTime = LocalDateTime.now();
+        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        String todayTime = localDateTime.format(dateTimeFormatter);
         for (Platform platform : platformList) {
-            Object outLineTime = redisTemplate.opsForValue().get(REDIS_KEY_PREFIX + platform.getPlatformIP());
+            Object outLineTime = redisTemplate.opsForValue().get(REDIS_KEY_PREFIX + todayTime + platform.getPlatformIP());
             Integer outlineTimeSed = Objects.isNull(outLineTime) ? 0 : (Integer) outLineTime;
             PlatformOnline one = new LambdaQueryChainWrapper<>(platformOnlineService.getBaseMapper())
                     .eq(PlatformOnline::getPlatformId, platform.getId())

--
Gitblit v1.8.0