From 7d5ea3631d163343b652bd6bd40b94b34c4194eb Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期二, 10 九月 2024 17:32:05 +0800
Subject: [PATCH] 点位在线率调整
---
ycl-server/src/main/java/com/ycl/task/OsdTask.java | 71 ++++++++++++++---------------------
1 files changed, 29 insertions(+), 42 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 2da5834..0c493a9 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;
@@ -68,17 +64,9 @@
* 姣斿mongoDB涓�鏈轰竴妗d俊鎭紝鏁寸悊鎴恟esult瀛樺叆mongo
* 鍚屾鍝佺墝鍒癿ysql
*/
+ //TODO锛氬ぇ鍗庡姩鎬佸簱linux鎹綅缃�
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<>();
- //鎵归噺淇敼澶у崕鍝佺墝闆嗗悎
- 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())));
@@ -86,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),
@@ -95,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);
@@ -144,6 +137,7 @@
//灏佽OsdCheckResult
OsdCheckResult osdCheckResult = getOsdCheckResult(osdResult, monitor);
checkCorrect(osdResult, monitor, osdCheckResult);
+ log.info("鏍¢獙缁撴灉锛歿}",osdCheckResult);
checkResults.add(osdCheckResult);
}
log.info("缁撴灉鏁版嵁澶у皬:{}", checkResults.size());
@@ -159,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");
}
@@ -185,6 +169,7 @@
osdCheckResult.setOsdPart(osdResult.getOSD3());
osdCheckResult.setOsdLB(osdResult.getOSD4());
osdCheckResult.setOsdName(osdResult.getName());
+ osdCheckResult.setDeviceBrand(osdResult.getDeviceBrand());
return osdCheckResult;
}
@@ -194,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);
}
@@ -247,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