From 9e11e94f8a92a62695657bb2b3b59a1cf47058a5 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期五, 17 十月 2025 13:38:11 +0800
Subject: [PATCH] 大屏显示问题以及报备导出
---
ycl-server/src/main/java/com/ycl/thread/OnlineCheckThread.java | 106 +++++++++++++++-------------------------------------
1 files changed, 31 insertions(+), 75 deletions(-)
diff --git a/ycl-server/src/main/java/com/ycl/thread/OnlineCheckThread.java b/ycl-server/src/main/java/com/ycl/thread/OnlineCheckThread.java
index 4003e46..7da632e 100644
--- a/ycl-server/src/main/java/com/ycl/thread/OnlineCheckThread.java
+++ b/ycl-server/src/main/java/com/ycl/thread/OnlineCheckThread.java
@@ -1,9 +1,9 @@
package com.ycl.thread;
-import com.ycl.platform.domain.entity.TMonitor;
import com.ycl.platform.domain.entity.WorkOrder;
+import com.ycl.platform.domain.result.SYS.TMonitorResult;
import com.ycl.platform.domain.vo.OnlineThreadVO;
-import com.ycl.platform.domain.vo.UpdateOnlineVO;
+import com.ycl.utils.CheckPointUtil;
import com.ycl.utils.http.SelfHttpUtil;
import constant.RedisConstant;
import enumeration.ErrorType;
@@ -12,13 +12,11 @@
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
+import org.springframework.util.CollectionUtils;
import java.io.IOException;
import java.net.InetAddress;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
import java.util.concurrent.Callable;
/**
@@ -26,20 +24,15 @@
* @date锛�2024/9/10 11:43
*/
@Slf4j
-public class OnlineCheckThread implements Callable<OnlineThreadVO> {
+public class OnlineCheckThread implements Callable<TMonitorResult> {
- private TMonitor monitor;
-
- private RedisTemplate redisTemplate;
-
- private SelfHttpUtil selfHttpUtil;
-
+ private TMonitorResult monitor;
+ private CheckPointUtil checkPointUtil;
private Integer times;
- public OnlineCheckThread(TMonitor monitor, RedisTemplate redisTemplate, SelfHttpUtil selfHttpUtil, Integer times) {
+ public OnlineCheckThread(TMonitorResult monitor, CheckPointUtil checkPointUtil,Integer times) {
this.monitor = monitor;
- this.redisTemplate = redisTemplate;
- this.selfHttpUtil = selfHttpUtil;
+ this.checkPointUtil = checkPointUtil;
this.times = times;
}
@@ -51,79 +44,42 @@
this.times = times;
}
- public SelfHttpUtil getSelfHttpUtil() {
- return selfHttpUtil;
- }
-
- public void setSelfHttpUtil(SelfHttpUtil selfHttpUtil) {
- this.selfHttpUtil = selfHttpUtil;
- }
-
- public TMonitor getMonitor() {
+ public TMonitorResult getMonitor() {
return monitor;
}
- public void setMonitor(TMonitor monitor) {
+ public void setMonitor(TMonitorResult monitor) {
this.monitor = monitor;
}
- public RedisTemplate getRedisTemplate() {
- return redisTemplate;
+ public CheckPointUtil getCheckPointUtil() {
+ return checkPointUtil;
}
- public void setRedisTemplate(RedisTemplate redisTemplate) {
- this.redisTemplate = redisTemplate;
+ public void setCheckPointUtil(CheckPointUtil checkPointUtil) {
+ this.checkPointUtil = checkPointUtil;
}
@Override
- public OnlineThreadVO call() throws Exception {
- // 鍏堟娴嬭兘鍚﹁闂ip鐨勭綉椤�
- ResponseEntity<Object> res = null;
- OnlineThreadVO vo = new OnlineThreadVO();
- vo.setIp(monitor.getIp());
- log.info("鐩戞祴IP锛�" + monitor.getIp());
- String prefix = "http://";
- if ("127.0.0.1".equals(monitor.getIp())) {
- vo.setOnline(Boolean.FALSE);
- return vo;
- }
- try {
- res = selfHttpUtil.get(prefix + monitor.getIp(), null, null);
- vo.setOnline(Objects.nonNull(res) && HttpStatus.OK == res.getStatusCode());
- } catch (Exception e) {
- vo.setOnline(Boolean.FALSE);
- }
+ public TMonitorResult call() {
+ TMonitorResult result = checkPointUtil.check(monitor,times);
+ if (result.getPingOnline()){
+ result.setPingOnlineStr("1");
- // 濡傛灉http寰楀埌鐨勪笉鍦ㄧ嚎锛岄偅涔堝啀ping涓�涓�
- boolean reachable = false;
- if (!vo.getOnline()) {
- try {
- reachable = InetAddress.getByName(monitor.getIp()).isReachable(3000);
- } catch (IOException e) {
- e.printStackTrace();
- }
- vo.setOnline(reachable);
+ }else {
+ result.setPingOnlineStr("-1");
}
- if (!vo.getOnline()) {
- Integer outLineTimes = (Integer) redisTemplate.opsForHash().get(RedisConstant.ONLINE_PREFIX, monitor.getIp());
- if (Objects.isNull(outLineTimes)) {
- outLineTimes = 1;
- } else {
- outLineTimes += 1;
- }
- redisTemplate.opsForHash().put(RedisConstant.ONLINE_PREFIX, monitor.getIp(), outLineTimes);
- // 涓�澶╁唴鐩戞祴鍒扮绾�1娆′互涓婏紝鐢熸垚宸ュ崟
- if (outLineTimes >= times) {
- WorkOrder workOrder = new WorkOrder();
- workOrder.setSerialNumber(monitor.getSerialNumber());
- List<String> errList = new ArrayList<>();
- errList.add(ErrorType.DEVICE_OFFLINE.getValue());
- workOrder.setErrorTypeList(errList);
- workOrder.setStatus(WorkOrderStatusEnum.DISTRIBUTED);
- vo.setWorkOrder(workOrder);
- }
+ // 鐜板湪闇�瑕佹煡鍑虹姸鎬佷负鏈煡鐨勮澶�
+ if (result.getCreateWorkOrder()!=null && result.getCreateWorkOrder()) {
+ WorkOrder workOrder = new WorkOrder();
+ workOrder.setSerialNumber(result.getNo());
+ List<String> errList = new ArrayList<>();
+ errList.add(ErrorType.DEVICE_OFFLINE.getValue());
+ workOrder.setErrorTypeList(errList);
+ workOrder.setStatus(WorkOrderStatusEnum.DISTRIBUTED);
+ result.setWorkOrder(workOrder);
}
- return vo;
+ return result;
}
}
--
Gitblit v1.8.0