From 9d69a278fcb5c159ec62eec3ce78ae15eb5d5ece Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期二, 12 十一月 2024 16:24:59 +0800
Subject: [PATCH] 离线工单ip去重只生成一个工单

---
 ycl-server/src/main/java/com/ycl/utils/CheckPointUtil.java |   28 +++++++++++++++++++---------
 1 files changed, 19 insertions(+), 9 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 323cb6c..cc5fa17 100644
--- a/ycl-server/src/main/java/com/ycl/utils/CheckPointUtil.java
+++ b/ycl-server/src/main/java/com/ycl/utils/CheckPointUtil.java
@@ -51,14 +51,14 @@
         ResponseEntity<String> res = null;
         String prefix = "http://";
         if ("127.0.0.1".equals(monitor.getIp())) {
-            monitor.setOnline(Boolean.FALSE);
+            monitor.setPingOnline(Boolean.FALSE);
             return monitor;
         }
         try {
             res = selfHttpUtil.get(prefix + monitor.getIp(), null, null);
-            monitor.setOnline(Objects.nonNull(res) && HttpStatus.OK == res.getStatusCode());
+            monitor.setPingOnline(Objects.nonNull(res) && HttpStatus.OK == res.getStatusCode());
         } catch (Exception e) {
-            monitor.setOnline(Boolean.FALSE);
+            monitor.setPingOnline(Boolean.FALSE);
         }
         // 濡傛灉http寰楀埌鐨勪笉鍦ㄧ嚎锛岄偅涔堝啀ping涓�涓�
         boolean reachable = false;
@@ -71,16 +71,21 @@
         } else {
             map = new HashMap<>();
         }
-        if (!monitor.getOnline()) {
+
+        if (!monitor.getPingOnline()) {
             try {
                 reachable = InetAddress.getByName(monitor.getIp()).isReachable(5000);
             } catch (IOException e) {
                 e.printStackTrace();
             }
-            monitor.setOnline(reachable);
+            monitor.setPingOnline(reachable);
         }
-        if (!monitor.getOnline()) {
+        if (!monitor.getPingOnline()) {
             offLineTimes++;
+            List<Date> offLineTime = monitor.getOffLineTime();
+            if(CollectionUtils.isEmpty(offLineTime)) offLineTime = new ArrayList<>();
+            offLineTime.add(new Date());
+            monitor.setOffLineTime(offLineTime);
         }
         map.put("checkTimes", checkTimes);
         map.put("offLineTimes", offLineTimes);
@@ -149,15 +154,20 @@
         String status = "";
         if (! webReachable) {
             status += "璁惧web璁块棶澶辫触锛�";
+        }else if(webReachable){
+            status += "璁惧web璁块棶姝e父锛�";
         }
+
         if (! pingReachable) {
             status += "璁惧ip鏈猵ing閫氾紱";
+        }else if(pingReachable){
+            status += "璁惧ipPing姝e父锛�";
         }
+
         if (StringUtils.isEmpty(imgUrl)) {
             status += "鏈幏鍙栧埌鍥剧墖";
-        }
-        if (StringUtils.isEmpty(status)) {
-            status += "璁惧姝e父";
+        }else {
+            status += "鑾峰彇鍥剧墖姝e父";
         }
         result.setStatus(status);
         return result;

--
Gitblit v1.8.0