From b85a7f932b9d789a2e9bdb36e366c36c2e1eb3cc Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期四, 17 四月 2025 11:31:53 +0800
Subject: [PATCH] 查询考核成绩为null,为前端添加数据默认为0

---
 ycl-server/src/main/java/com/ycl/utils/CheckPointUtil.java |   31 ++++++++++++++++++++++++-------
 1 files changed, 24 insertions(+), 7 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/utils/CheckPointUtil.java b/ycl-server/src/main/java/com/ycl/utils/CheckPointUtil.java
index 3263723..cc25556 100644
--- a/ycl-server/src/main/java/com/ycl/utils/CheckPointUtil.java
+++ b/ycl-server/src/main/java/com/ycl/utils/CheckPointUtil.java
@@ -49,6 +49,12 @@
      * @return
      */
     public TMonitorResult check(TMonitorResult monitor,Integer times) {
+        //        TMonitorResult(deptId=202, ip=51.95.48.18, online=0,
+//            onlineStr=null, pingOnline=true, pingOnlineStr=null,
+//            checkCount=1, offLineCount=0, offLineTimeStr=null,
+//            monitorType=3, name=DX_R涓変腑澶ч棬鍓嶈矾娈靛乏渚т汉琛岄亾2_鍏ㄦ櫙,
+//            workOrder=null, pointId=null, createWorkOrder=null, dynamicColumnList=null),
+
         // 鍏堟娴嬭兘鍚﹁闂ip鐨勭綉椤�
         ResponseEntity<String> res = null;
         String prefix = "http://";
@@ -61,7 +67,6 @@
             res = selfHttpUtil.get(prefix + monitor.getIp(), null, null);
             monitor.setPingOnline(Objects.nonNull(res) && HttpStatus.OK == res.getStatusCode());
         } catch (Exception e) {
-            log.error("web妫�娴嬬绾�"+monitor.getIp());
             monitor.setPingOnline(Boolean.FALSE);
         }
         // 濡傛灉http寰楀埌鐨勪笉鍦ㄧ嚎锛岄偅涔堝啀ping涓�涓�
@@ -86,12 +91,7 @@
             map = new HashMap<>();
         }
         if (!monitor.getPingOnline()) {
-            try {
-                reachable = InetAddress.getByName(monitor.getIp()).isReachable(5000);
-            } catch (IOException e) {
-                log.error("Ping寮傚父{}",e.getMessage());
-            }
-            if(!reachable) log.error("ping妫�娴嬬绾�"+monitor.getIp());
+            reachable = checkPing(monitor, reachable);
             monitor.setPingOnline(reachable);
         }
         if (!monitor.getPingOnline()) {
@@ -120,9 +120,26 @@
         redisTemplate.opsForHash().put(RedisConstant.ONLINE_KEY, monitor.getNo(), map);
         monitor.setCheckCount(checkTimes);
         monitor.setOffLineCount(offLineTimes);
+
         return monitor;
     }
 
+    private boolean checkPing(TMonitorResult monitor, boolean reachable) {
+        try {
+            int[] sleepTimes = {5000, 15000, 30000};
+            for (int sleepTime : sleepTimes) {
+                reachable = InetAddress.getByName(monitor.getIp()).isReachable(5000);
+                if (reachable) {
+                    break;
+                }
+                Thread.sleep(sleepTime);
+            }
+        } catch (Exception e) {
+            log.error("Ping寮傚父",e);
+        }
+        return reachable;
+    }
+
 
     /**
      * 鐩戞祴鐐逛綅鍦ㄧ嚎

--
Gitblit v1.8.0