From 8e384e65b3fc9b0c9116cf2ec2c11e3ad3bc361e Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期四, 28 十二月 2023 08:51:08 +0800
Subject: [PATCH] 优化雷达报警接收
---
src/main/java/com/ard/alarm/external/service/impl/ArdEquipExternalServiceImpl.java | 147 +++++++++---------------------------------------
1 files changed, 28 insertions(+), 119 deletions(-)
diff --git a/src/main/java/com/ard/alarm/external/service/impl/ArdEquipExternalServiceImpl.java b/src/main/java/com/ard/alarm/external/service/impl/ArdEquipExternalServiceImpl.java
index 411eaf2..e687fe4 100644
--- a/src/main/java/com/ard/alarm/external/service/impl/ArdEquipExternalServiceImpl.java
+++ b/src/main/java/com/ard/alarm/external/service/impl/ArdEquipExternalServiceImpl.java
@@ -6,14 +6,12 @@
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
-import com.ard.alarm.camera.domain.ArdCameras;
import com.ard.alarm.external.domain.ArdEquipExternal;
import com.ard.alarm.external.mapper.ArdEquipExternalMapper;
import com.ard.alarm.external.service.IArdEquipExternalService;
-import com.ard.utils.hiksdk.service.impl.HikClientUtil;
+import com.ard.utils.sdk.hiksdk.service.HikClientUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.core.annotation.Order;
@@ -35,35 +33,17 @@
private final static ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
- public static List<ArdEquipExternal> ardAlarmHostList = new ArrayList<>();
- public static List<ArdEquipExternal> ardAccessHostList = new ArrayList<>();
- public static List<ArdEquipExternal> ardSuperBrainHostList = new ArrayList<>();
+ public static List<ArdEquipExternal> ardEquipExternalList = new ArrayList<>();
@Resource
private ArdEquipExternalMapper ardEquipExternalMapper;
@Override
public void run(ApplicationArguments args) {
- //鑾峰彇鍏ㄩ儴娴峰悍鎶ヨ涓绘満灏濊瘯鐧诲綍
- ArdEquipExternal alarmHost = new ArdEquipExternal();
- alarmHost.setFactory("1");
- alarmHost.setType("1");
- ardAlarmHostList = selectArdEquipExternalList(alarmHost);
- HikClientUtil.loginAllAlarmHost(ardAlarmHostList);
- log.debug("鎶ヨ涓绘満灏濊瘯鐧诲綍");
- //鑾峰彇鍏ㄩ儴闂ㄧ涓绘満灏濊瘯鐧诲綍
- ArdEquipExternal accessControlHost = new ArdEquipExternal();
- accessControlHost.setFactory("1");
- accessControlHost.setType("6");
- ardAccessHostList = selectArdEquipExternalList(accessControlHost);
- HikClientUtil.loginAllAccessControlHost(ardAccessHostList);
- log.debug("闂ㄧ涓绘満灏濊瘯鐧诲綍");
- //鑾峰彇鍏ㄩ儴瓒呰剳灏濊瘯鐧诲綍
- ArdEquipExternal superBrainHost = new ArdEquipExternal();
- superBrainHost.setFactory("1");
- superBrainHost.setType("5");
- ardSuperBrainHostList = selectArdEquipExternalList(superBrainHost);
- HikClientUtil.loginAllSuperBrainHost(ardSuperBrainHostList);
- log.debug("瓒呰剳灏濊瘯鐧诲綍");
+ List<String> targetTypes = Arrays.asList("1", "5", "6");
+ List<ArdEquipExternal> ardEquipExternals = selectArdEquipExternalListByTypes(targetTypes);
+ HikClientUtil.loginAllArdEquipExternals(ardEquipExternals);
+ ardEquipExternalList.addAll(ardEquipExternals);
+ log.debug("澶栬仈璁惧灏濊瘯鐧诲綍");
//鍚屾浠诲姟
syncTask();
}
@@ -76,94 +56,31 @@
private void syncTask() {
scheduler.scheduleAtFixedRate(() -> {
try {
- //region 瀹氭椂鍚屾鎶ヨ涓绘満
- ArdEquipExternal alarmHost = new ArdEquipExternal();
- alarmHost.setFactory("1");
- alarmHost.setType("1");
- List<ArdEquipExternal> newAlarmHostList = selectArdEquipExternalList(alarmHost);
+ //region 瀹氭椂鍚屾澶栬仈璁惧
+ List<String> targetTypes = Arrays.asList("1", "5", "6");
+ List<ArdEquipExternal> ardEquipExternalsNew = selectArdEquipExternalListByTypes(targetTypes);
//闇�瑕佹洿鏂扮殑鏁版嵁
- List<ArdEquipExternal> updateList = sameListWithDifferent(ardAlarmHostList, newAlarmHostList);
+ List<ArdEquipExternal> updateList = sameListWithDifferent(ardEquipExternalList, ardEquipExternalsNew);
if (updateList.size() > 0) {
- HikClientUtil.logoutAllAlarmHost(updateList);
- HikClientUtil.loginAllAlarmHost(updateList);
- ardAlarmHostList.clear();
- ardAlarmHostList.addAll(newAlarmHostList);
+ HikClientUtil.logoutAllArdEquipExternals(updateList);
+ HikClientUtil.loginAllArdEquipExternals(updateList);
+ ardEquipExternalList.clear();
+ ardEquipExternalList.addAll(ardEquipExternalsNew);
}
//闇�瑕佸垹闄ょ殑鏁版嵁
- List<ArdEquipExternal> delList = diffList(ardAlarmHostList, newAlarmHostList);
+ List<ArdEquipExternal> delList = diffList(ardEquipExternalList, ardEquipExternalsNew);
if (delList.size() > 0) {
- HikClientUtil.logoutAllAlarmHost(delList);
+ HikClientUtil.logoutAllArdEquipExternals(delList);
for (ArdEquipExternal ardEquipExternal : delList) {
- ardAlarmHostList.remove(ardEquipExternal);
+ ardEquipExternalList.remove(ardEquipExternal);
}
}
//闇�瑕佹柊澧炵殑鏁版嵁
- List<ArdEquipExternal> inserList = diffList(newAlarmHostList, ardAlarmHostList);
+ List<ArdEquipExternal> inserList = diffList(ardEquipExternalsNew, ardEquipExternalList);
if (inserList.size() > 0) {
- HikClientUtil.loginAllAlarmHost(inserList);
+ HikClientUtil.loginAllArdEquipExternals(inserList);
for (ArdEquipExternal ardEquipExternal : inserList) {
- ardAlarmHostList.add(ardEquipExternal);
- }
- }
-
- //endregion
- //region 瀹氭椂鍚屾闂ㄧ涓绘満
- ArdEquipExternal accessHost = new ArdEquipExternal();
- accessHost.setFactory("1");
- accessHost.setType("6");
- List<ArdEquipExternal> newAccessHostList = selectArdEquipExternalList(accessHost);
- //闇�瑕佹洿鏂扮殑鏁版嵁
- updateList = sameListWithDifferent(ardAccessHostList, newAccessHostList);
- if (updateList.size() > 0) {
- HikClientUtil.logoutAllAlarmHost(updateList);
- HikClientUtil.loginAllAlarmHost(updateList);
- ardAccessHostList.clear();
- ardAccessHostList.addAll(newAccessHostList);
- }
- //闇�瑕佸垹闄ょ殑鏁版嵁
- delList = diffList(ardAccessHostList, newAccessHostList);
- if (delList.size() > 0) {
- HikClientUtil.logoutAllAccessControlHost(delList);
- for (ArdEquipExternal ardEquipExternal : delList) {
- ardAccessHostList.remove(ardEquipExternal);
- }
- }
- //闇�瑕佹柊澧炵殑鏁版嵁
- inserList = diffList(newAccessHostList, ardAccessHostList);
- if (inserList.size() > 0) {
- HikClientUtil.loginAllAccessControlHost(inserList);
- for (ArdEquipExternal ardEquipExternal : inserList) {
- ardAccessHostList.add(ardEquipExternal);
- }
- }
- //endregion
- //region 瀹氭椂鍚屾瓒呰剳
- ArdEquipExternal superBrainHost = new ArdEquipExternal();
- superBrainHost.setFactory("1");
- superBrainHost.setType("5");
- List<ArdEquipExternal> newSuperBrainList = selectArdEquipExternalList(superBrainHost);
- //闇�瑕佹洿鏂扮殑鏁版嵁
- updateList = sameListWithDifferent(ardSuperBrainHostList, newSuperBrainList);
- if (updateList.size() > 0) {
- HikClientUtil.logoutAllSuperBrainHost(updateList);
- HikClientUtil.loginAllSuperBrainHost(updateList);
- ardSuperBrainHostList.clear();
- ardSuperBrainHostList.addAll(newSuperBrainList);
- }
- //闇�瑕佸垹闄ょ殑鏁版嵁
- delList = diffList(ardSuperBrainHostList, newSuperBrainList);
- if (delList.size() > 0) {
- HikClientUtil.logoutAllSuperBrainHost(delList);
- for (ArdEquipExternal ardEquipExternal : delList) {
- ardSuperBrainHostList.remove(ardEquipExternal);
- }
- }
- //闇�瑕佹柊澧炵殑鏁版嵁
- inserList = diffList(newSuperBrainList, ardSuperBrainHostList);
- if (inserList.size() > 0) {
- HikClientUtil.loginAllSuperBrainHost(inserList);
- for (ArdEquipExternal ardEquipExternal : inserList) {
- ardSuperBrainHostList.add(ardEquipExternal);
+ ardEquipExternalList.add(ardEquipExternal);
}
}
//endregion
@@ -173,18 +90,12 @@
}, 10, 10, TimeUnit.SECONDS);
}
-
/**
* 鏌ヨexternal
*
- * @param id external涓婚敭
- * @return external
+ * @param ardEquipExternal external
+ * @return external闆嗗悎
*/
- @Override
- public ArdEquipExternal selectArdEquipExternalById(String id) {
- return ardEquipExternalMapper.selectById(id);
- }
-
@Override
public ArdEquipExternal selectArdEquipExternal(ArdEquipExternal ardEquipExternal) {
QueryWrapper<ArdEquipExternal> queryWrapper = new QueryWrapper<>(ardEquipExternal);
@@ -192,17 +103,17 @@
}
/**
- * 鏌ヨexternal鍒楄〃
+ * 鎸夌被鍨嬪垪琛ㄦ煡璇xternal鍒楄〃
*
- * @param ardEquipExternal external
+ * @param types 绫诲瀷鍒楄〃
* @return external
*/
@Override
- public List<ArdEquipExternal> selectArdEquipExternalList(ArdEquipExternal ardEquipExternal) {
- QueryWrapper<ArdEquipExternal> queryWrapper = new QueryWrapper<>(ardEquipExternal);
+ public List<ArdEquipExternal> selectArdEquipExternalListByTypes(List<String> types) {
+ QueryWrapper<ArdEquipExternal> queryWrapper = new QueryWrapper<>();
+ queryWrapper.in("type", types);
return ardEquipExternalMapper.selectList(queryWrapper);
}
-
//姹備袱涓璞ist鐨勪氦闆嗗瓧娈典笉鍚孖d鐩稿悓
private List<ArdEquipExternal> sameListWithDifferent(List<ArdEquipExternal> oldList, List<ArdEquipExternal> newList) {
@@ -224,8 +135,6 @@
return differentFieldsList;
}
-
-
// 姹備袱涓璞ist鐨勫樊闆�
private List<ArdEquipExternal> diffList(List<ArdEquipExternal> oldArrayList, List<ArdEquipExternal> newArrayList) {
List<ArdEquipExternal> resultList = oldArrayList.stream()
--
Gitblit v1.9.3