From 088bc1e162261a91a8779d8079bef9d6a5d6d3e9 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期二, 03 九月 2024 10:06:22 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ycl-server/src/main/java/com/ycl/task/OsdTask.java | 65 ++++++++++++++++++-------------- 1 files changed, 37 insertions(+), 28 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 75443d2..222a915 100644 --- a/ycl-server/src/main/java/com/ycl/task/OsdTask.java +++ b/ycl-server/src/main/java/com/ycl/task/OsdTask.java @@ -1,14 +1,10 @@ package com.ycl.task; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.mongodb.client.result.DeleteResult; -import com.ycl.api.DH.module.LoginModule; import com.ycl.api.DH.utils.DHApi; import com.ycl.api.HK.HKApi; import com.ycl.api.YS.YSApi; -import com.ycl.api.YS.YSInit; import com.ycl.platform.domain.entity.TMonitor; import com.ycl.platform.domain.result.OSDResult; import com.ycl.platform.domain.result.UY.MonitorQualifyResult; @@ -62,14 +58,6 @@ @Autowired private UYErrorTypeCheckService uyErrorTypeCheckService; - private static final ExecutorService executorService = new ThreadPoolExecutor(8, - 24, - 5000, - TimeUnit.SECONDS, - new ArrayBlockingQueue<>(1000), - new ThreadPoolExecutor.CallerRunsPolicy() - ); - /** * 閫氳繃鏌ongoDB姣忔棩涓�鏈轰竴妗f暟鎹幏鍙栬澶噄p * 閫氳繃璁惧ip銆佸搧鐗岃皟鐢ㄤ笉鍚宎pi鑾峰彇osd淇℃伅 @@ -78,9 +66,6 @@ */ public void getOSD() { log.info("寮�濮嬭幏鍙朞SD"); -// YSApi.getOsd("51.95.66.42",YSUserName,YSPassword); - - DHApi.getOsd("51.95.67.189",DHUserName,DHPassword); //鎵归噺淇敼娴峰悍鍝佺墝闆嗗悎 List<String> hkList = new ArrayList<>(); //鎵归噺淇敼澶у崕鍝佺墝闆嗗悎 @@ -94,28 +79,39 @@ //闇�瑕佽�冩牳鐨勬暟鎹� List<String> serialNumbers = oneMachineFileResults.stream().map(result -> result.getSerialNumber().getValue()).collect(Collectors.toList()); if(!CollectionUtils.isEmpty(serialNumbers)) { + ExecutorService executorService = new ThreadPoolExecutor(8, + 24, + 5000, + TimeUnit.SECONDS, + new ArrayBlockingQueue<>(1000), + new ThreadPoolExecutor.CallerRunsPolicy() + ); 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()); -// monitors = monitors.stream().filter(monitor -> monitor.getId() < 7000).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); @@ -126,6 +122,7 @@ } }); } + //涓嶅啀鎺ユ敹鏂颁换鍔� executorService.shutdown(); try { // 绛夊緟鎵�鏈変换鍔″畬鎴愶紝鏈�澶氱瓑寰�10绉掞紙鍙互鏍规嵁闇�瑕佽皟鏁达級 @@ -145,6 +142,7 @@ //灏佽OsdCheckResult OsdCheckResult osdCheckResult = getOsdCheckResult(osdResult, monitor); checkCorrect(osdResult, monitor, osdCheckResult); + log.info("鏍¢獙缁撴灉锛歿}",osdCheckResult); checkResults.add(osdCheckResult); } log.info("缁撴灉鏁版嵁澶у皬:{}", checkResults.size()); @@ -162,14 +160,14 @@ } //淇敼鏁版嵁搴撳搧鐗� 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:瀹囪 + if (!CollectionUtils.isEmpty(ysList)) { + monitorMapper.batchUpdateDeviceType(ysList, DeviceType.YS.getType()); + } } log.info("缁撴潫鑾峰彇OSD"); } @@ -195,16 +193,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); } @@ -253,7 +253,7 @@ OSDResult hkosd = HKApi.getOsdByIP(monitor.getIp(), HKUserName, HKPassword); if (hkosd != null) { hkosd.setSerialNumber(monitor.getSerialNumber()); - log.info("娴峰悍璋冪敤鎴愬姛"+hkosd); + log.info("娴峰悍璋冪敤鎴愬姛" + hkosd); synchronized (hkList) { hkList.add(monitor.getSerialNumber()); } @@ -263,13 +263,22 @@ OSDResult dhosd = DHApi.getOsd(monitor.getIp(), DHUserName, DHPassword); if (dhosd != null) { dhosd.setSerialNumber(monitor.getSerialNumber()); - log.info("澶у崕璋冪敤鎴愬姛"+dhosd); + log.info("澶у崕璋冪敤鎴愬姛" + dhosd); synchronized (dhList) { dhList.add(monitor.getSerialNumber()); } return dhosd; } - //TODO锛氬畤瑙哸pi + //瀹囪api + OSDResult ysosd = YSApi.getOsd(monitor.getIp(), YSUserName, YSPassword); + if (ysosd != null) { + ysosd.setSerialNumber(monitor.getSerialNumber()); + log.info("瀹囪璋冪敤鎴愬姛" + ysosd); + synchronized (ysList) { + ysList.add(monitor.getSerialNumber()); + } + return ysosd; + } return null; } } -- Gitblit v1.8.0