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