From eeee39c3ca0cbbb3d24e30ec9f9abe731367bb6e Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 21 八月 2024 16:34:08 +0800
Subject: [PATCH] 平台离线定时任务查询平台列表方式改为数据库

---
 ycl-server/src/main/java/com/ycl/task/PlatformTask.java |   34 ++++++++++++++++++++--------------
 1 files changed, 20 insertions(+), 14 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 e0ed630..ab38afb 100644
--- a/ycl-server/src/main/java/com/ycl/task/PlatformTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/PlatformTask.java
@@ -1,7 +1,9 @@
 package com.ycl.task;
 
 import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
+import com.ycl.platform.domain.entity.Platform;
 import com.ycl.platform.domain.entity.PlatformOnline;
+import com.ycl.platform.mapper.PlatformMapper;
 import com.ycl.platform.service.PlatformOnlineService;
 import com.ycl.system.entity.SysDictData;
 import com.ycl.system.service.impl.SysDictTypeServiceImpl;
@@ -32,7 +34,7 @@
 public class PlatformTask {
 
     private final RedisTemplate redisTemplate;
-    private final SysDictTypeServiceImpl dictTypeService;
+    private final PlatformMapper platformMapper;
     private final PlatformOnlineService platformOnlineService;
 
     /**
@@ -56,21 +58,23 @@
      * @throws IOException
      */
     public void ping() {
-        List<SysDictData> platformList = dictTypeService.selectDictDataByType(DICT_TYPE);
-        for (SysDictData platform : platformList) {
+        List<Platform> platformList = new LambdaQueryChainWrapper<>(platformMapper)
+                .isNotNull(Platform::getPlatformIP)
+                .list();
+        for (Platform platform : platformList) {
             executorService.submit(() -> {
                 try {
                     Boolean reachable = Boolean.FALSE;
                     for (int tryTimes = 1; tryTimes < 3; tryTimes++) {
                         // 涓夌鏈猵ing閫氶噸璇曚竴娆★紝濡傛灉涓嶈鎵嶆墸鍒�
-                        reachable = InetAddress.getByName(platform.getDictValue()).isReachable(3000);
+                        reachable = InetAddress.getByName(platform.getPlatformIP()).isReachable(3000);
                         if (! reachable && tryTimes == 0) {
                             continue;
                         }
                         if (! reachable) {
                             // 濡傛灉ping涓嶉�氾紝绂荤嚎鏃堕暱鍔�5绉�
-                            redisTemplate.opsForValue().increment(REDIS_KEY_PREFIX + platform.getDictValue(), 5);
-                            log.warn(platform.getDictLabel() + "骞冲彴鏈猵ing閫�");
+                            redisTemplate.opsForValue().increment(REDIS_KEY_PREFIX + platform.getPlatformIP(), 5);
+                            log.warn(platform.getPlatformName() + "骞冲彴鏈猵ing閫�");
                         }
                     }
                 } catch (Exception e) {
@@ -85,28 +89,30 @@
      *
      */
     public void synToMySQL() {
-        List<SysDictData> platformList = dictTypeService.selectDictDataByType(DICT_TYPE);
+        List<Platform> platformList = new LambdaQueryChainWrapper<>(platformMapper)
+                .isNotNull(Platform::getPlatformIP)
+                .list();
         // 灏唈ava.util.Date杞崲涓簀ava.sql.Date
         java.sql.Date sqlDate = new java.sql.Date(new Date().getTime());
 
-        for (SysDictData platform : platformList) {
-            Object outLineTime = redisTemplate.opsForValue().get(REDIS_KEY_PREFIX + platform.getDictValue());
+        for (Platform platform : platformList) {
+            Object outLineTime = redisTemplate.opsForValue().get(REDIS_KEY_PREFIX + platform.getPlatformIP());
             Integer outlineTimeSed = Objects.isNull(outLineTime) ? 0 : (Integer) outLineTime;
             PlatformOnline one = new LambdaQueryChainWrapper<>(platformOnlineService.getBaseMapper())
-                    .eq(PlatformOnline::getPlatformIp, platform.getDictValue())
+                    .eq(PlatformOnline::getPlatformIp, platform.getPlatformIP())
                     .eq(PlatformOnline::getCreateDate, sqlDate)
                     .one();
             if (Objects.isNull(one)) {
                 one = new PlatformOnline();
-                one.setPlatformIp(platform.getDictValue());
-                one.setPlatformName(platform.getDictLabel());
+                one.setPlatformIp(platform.getPlatformIP());
+                one.setPlatformName(platform.getPlatformName());
                 one.setCreateDate(sqlDate);
                 one.setTodayOutlineSed(outlineTimeSed);
             } else {
                 one.setTodayOutlineSed(one.getTodayOutlineSed() + outlineTimeSed);
             }
-            one.setPlatformIp(platform.getDictValue());
-            one.setPlatformName(platform.getDictLabel());
+            one.setPlatformIp(platform.getPlatformIP());
+            one.setPlatformName(platform.getPlatformName());
             one.setCreateDate(sqlDate);
 
             platformOnlineService.saveOrUpdate(one);

--
Gitblit v1.8.0