From 2a2885f45160b4048a27e75d5be03ba9232c7363 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期二, 10 九月 2024 17:34:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ycl-server/src/main/java/com/ycl/task/OsdTask.java |   66 +++++++++++++++------------------
 1 files changed, 30 insertions(+), 36 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/task/OsdTask.java b/ycl-server/src/main/java/com/ycl/task/OsdTask.java
index 3bde6d8..0c493a9 100644
--- a/ycl-server/src/main/java/com/ycl/task/OsdTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/OsdTask.java
@@ -4,6 +4,7 @@
 import com.mongodb.client.result.DeleteResult;
 import com.ycl.api.DH.utils.DHApi;
 import com.ycl.api.HK.HKApi;
+import com.ycl.api.YS.YSApi;
 import com.ycl.platform.domain.entity.TMonitor;
 import com.ycl.platform.domain.result.OSDResult;
 import com.ycl.platform.domain.result.UY.MonitorQualifyResult;
@@ -63,15 +64,9 @@
      * 姣斿mongoDB涓�鏈轰竴妗d俊鎭紝鏁寸悊鎴恟esult瀛樺叆mongo
      * 鍚屾鍝佺墝鍒癿ysql
      */
+    //TODO锛氬ぇ鍗庡姩鎬佸簱linux鎹綅缃�
     public void getOSD() {
         log.info("寮�濮嬭幏鍙朞SD");
-//        YSApi.getOsd("51.95.66.42",YSUserName,YSPassword);
-        //鎵归噺淇敼娴峰悍鍝佺墝闆嗗悎
-        List<String> hkList = new ArrayList<>();
-        //鎵归噺淇敼澶у崕鍝佺墝闆嗗悎
-        List<String> dhList = new ArrayList<>();
-        //鎵归噺淇敼瀹囪鍝佺墝闆嗗悎
-        List<String> ysList = new ArrayList<>();
         List<OSDResult> osdResultList = new ArrayList<>();
         //鏌ヤ竴鏈轰竴妗onitor
         Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
@@ -79,8 +74,8 @@
         //闇�瑕佽�冩牳鐨勬暟鎹�
         List<String> serialNumbers = oneMachineFileResults.stream().map(result -> result.getSerialNumber().getValue()).collect(Collectors.toList());
         if(!CollectionUtils.isEmpty(serialNumbers)) {
-            ExecutorService executorService = new ThreadPoolExecutor(8,
-                    24,
+            ExecutorService executorService = new ThreadPoolExecutor(16,
+                    128,
                     5000,
                     TimeUnit.SECONDS,
                     new ArrayBlockingQueue<>(1000),
@@ -88,28 +83,33 @@
             );
             List<TMonitor> monitors = monitorMapper.selectByNumbers(serialNumbers);
             monitors = monitors.stream().filter(monitor -> !StringUtils.isEmpty(monitor.getIp()) && !"127.0.0.1".equals(monitor.getIp())).collect(Collectors.toList());
-            log.info("澶勭悊鏁版嵁澶у皬{}", monitors.size());
+//            log.info("澶勭悊鏁版嵁澶у皬{}", monitors.size());
             for (TMonitor monitor : monitors) {
                 executorService.submit(() -> {
                     if (DeviceType.HK.getType().equals(monitor.getDeviceType())) {
-                        //娴峰悍鍝佺墝
+                        //娴峰悍
                         OSDResult osd = HKApi.getOsdByIP(monitor.getIp(), HKUserName, HKPassword);
                         if (checkSuccess(osdResultList, monitor, osd)) {
                             log.info("娴峰悍璋冪敤鎴愬姛" + osd);
                             return;
                         }
                     } else if (DeviceType.DH.getType().equals(monitor.getDeviceType())) {
-                        //澶у崕鍝佺墝
+                        //澶у崕
                         OSDResult osd = DHApi.getOsd(monitor.getIp(), DHUserName, DHPassword);
                         if (checkSuccess(osdResultList, monitor, osd)) {
                             log.info("澶у崕璋冪敤鎴愬姛" + osd);
                             return;
                         }
                     } else if (DeviceType.YS.getType().equals(monitor.getDeviceType())) {
-                        //TODO锛氬畤瑙哸pi
+                        //瀹囪
+                        OSDResult osd = YSApi.getOsd(monitor.getIp(), YSUserName, YSPassword);
+                        if (checkSuccess(osdResultList, monitor, osd)) {
+                            log.info("瀹囪璋冪敤鎴愬姛" + osd);
+                            return;
+                        }
                     }
                     //鏈煡鍝佺墝鎴栬�卆pi璋冪敤澶辫触锛屾尐涓墽琛屾墍鏈塧pi
-                    OSDResult osd = tryAllApi(monitor, hkList, dhList, ysList);
+                    OSDResult osd = tryAllApi(monitor);
                     if (osd != null) {
                         synchronized (osdResultList) {
                             osdResultList.add(osd);
@@ -137,6 +137,7 @@
                 //灏佽OsdCheckResult
                 OsdCheckResult osdCheckResult = getOsdCheckResult(osdResult, monitor);
                 checkCorrect(osdResult, monitor, osdCheckResult);
+                log.info("鏍¢獙缁撴灉锛歿}",osdCheckResult);
                 checkResults.add(osdCheckResult);
             }
             log.info("缁撴灉鏁版嵁澶у皬:{}", checkResults.size());
@@ -152,16 +153,6 @@
                 // 宸ュ崟鐢熸垚
                 uyErrorTypeCheckService.osdCheck(checkResults);
             }
-            //淇敼鏁版嵁搴撳搧鐗�
-            if (!CollectionUtils.isEmpty(hkList)) {
-                log.info("淇敼鍝佺墝");
-                monitorMapper.batchUpdateDeviceType(hkList, DeviceType.HK.getType());
-            }
-            if (!CollectionUtils.isEmpty(dhList)) {
-                log.info("淇敼鍝佺墝");
-                monitorMapper.batchUpdateDeviceType(dhList, DeviceType.DH.getType());
-            }
-            //TODO:瀹囪
         }
         log.info("缁撴潫鑾峰彇OSD");
     }
@@ -178,6 +169,7 @@
         osdCheckResult.setOsdPart(osdResult.getOSD3());
         osdCheckResult.setOsdLB(osdResult.getOSD4());
         osdCheckResult.setOsdName(osdResult.getName());
+        osdCheckResult.setDeviceBrand(osdResult.getDeviceBrand());
         return osdCheckResult;
     }
 
@@ -187,16 +179,18 @@
             long checkTime = osdResult.getCheckTime().getTime();
             long osdTime = osdResult.getOsdTime().getTime();
             long timeDiff = (checkTime - osdTime) / 1000;
-            if (timeDiff <=60) {
+            if (timeDiff <= 60) {
                 osdCheckResult.setOsdTimeCorrect(ApiConstants.OSD_Correct);
             } else {
                 osdCheckResult.setOsdTimeCorrect(ApiConstants.OSD_Error);
             }
         }
         //妫�鏌ラ�氶亾鍚嶆槸鍚︽纭�
+        //鏍¢獙瑙勫垯锛岃繖閲屾殏鏃朵笉姣旇緝鍏ㄦ櫙鍜岀粏鑺備袱瀛椼��
         if (!StringUtils.isEmpty(osdResult.getName()) && !StringUtils.isEmpty(monitor.getName())) {
-            if (monitor.getName().equals(osdResult.getName())) {
+            if (monitor.getName().equals(osdResult.getName()) || monitor.getName().replace("鍏ㄦ櫙", "缁嗚妭").equals(osdResult.getName()) || monitor.getName().replace("缁嗚妭", "鍏ㄦ櫙").equals(osdResult.getName())) {
                 osdCheckResult.setOsdNameCorrect(ApiConstants.OSD_Correct);
+                osdCheckResult.setOsdName(osdResult.getName());
             } else {
                 osdCheckResult.setOsdNameCorrect(ApiConstants.OSD_Error);
             }
@@ -240,28 +234,28 @@
         }
     }
 
-    private OSDResult tryAllApi(TMonitor monitor, List<String> hkList, List<String> dhList, List<String> ysList) {
+    private OSDResult tryAllApi(TMonitor monitor) {
         //灏濊瘯娴峰悍鐨刟pi
         OSDResult hkosd = HKApi.getOsdByIP(monitor.getIp(), HKUserName, HKPassword);
         if (hkosd != null) {
             hkosd.setSerialNumber(monitor.getSerialNumber());
-            log.info("娴峰悍璋冪敤鎴愬姛"+hkosd);
-            synchronized (hkList) {
-                hkList.add(monitor.getSerialNumber());
-            }
+            log.info("娴峰悍璋冪敤鎴愬姛" + hkosd);
             return hkosd;
         }
         //灏濊瘯澶у崕鐨刟pi
         OSDResult dhosd = DHApi.getOsd(monitor.getIp(), DHUserName, DHPassword);
         if (dhosd != null) {
             dhosd.setSerialNumber(monitor.getSerialNumber());
-            log.info("澶у崕璋冪敤鎴愬姛"+dhosd);
-            synchronized (dhList) {
-                dhList.add(monitor.getSerialNumber());
-            }
+            log.info("澶у崕璋冪敤鎴愬姛" + dhosd);
             return dhosd;
         }
-        //TODO锛氬畤瑙哸pi
+        //瀹囪api
+        OSDResult ysosd = YSApi.getOsd(monitor.getIp(), YSUserName, YSPassword);
+        if (ysosd != null) {
+            ysosd.setSerialNumber(monitor.getSerialNumber());
+            log.info("瀹囪璋冪敤鎴愬姛" + ysosd);
+            return ysosd;
+        }
         return null;
     }
 }

--
Gitblit v1.8.0