From 092d7c56bb8653075b8f4b27220e69e6bb8e5d37 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期四, 09 十一月 2023 16:49:26 +0800
Subject: [PATCH] 增加超脑业务

---
 src/main/java/com/ard/alarm/external/service/impl/ArdEquipExternalServiceImpl.java |   57 ++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 48 insertions(+), 9 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 723ab35..411eaf2 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
@@ -19,6 +19,8 @@
 import org.springframework.core.annotation.Order;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+
 
 /**
  * externalService涓氬姟灞傚鐞�
@@ -35,12 +37,12 @@
 
     public static List<ArdEquipExternal> ardAlarmHostList = new ArrayList<>();
     public static List<ArdEquipExternal> ardAccessHostList = new ArrayList<>();
-
-    @Autowired
+    public static List<ArdEquipExternal> ardSuperBrainHostList = new ArrayList<>();
+    @Resource
     private ArdEquipExternalMapper ardEquipExternalMapper;
 
     @Override
-    public void run(ApplicationArguments args){
+    public void run(ApplicationArguments args) {
         //鑾峰彇鍏ㄩ儴娴峰悍鎶ヨ涓绘満灏濊瘯鐧诲綍
         ArdEquipExternal alarmHost = new ArdEquipExternal();
         alarmHost.setFactory("1");
@@ -55,6 +57,13 @@
         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("瓒呰剳灏濊瘯鐧诲綍");
         //鍚屾浠诲姟
         syncTask();
     }
@@ -99,10 +108,10 @@
 
                 //endregion
                 //region 瀹氭椂鍚屾闂ㄧ涓绘満
-                alarmHost = new ArdEquipExternal();
-                alarmHost.setFactory("1");
-                alarmHost.setType("6");
-                List<ArdEquipExternal> newAccessHostList = selectArdEquipExternalList(alarmHost);
+                ArdEquipExternal accessHost = new ArdEquipExternal();
+                accessHost.setFactory("1");
+                accessHost.setType("6");
+                List<ArdEquipExternal> newAccessHostList = selectArdEquipExternalList(accessHost);
                 //闇�瑕佹洿鏂扮殑鏁版嵁
                 updateList = sameListWithDifferent(ardAccessHostList, newAccessHostList);
                 if (updateList.size() > 0) {
@@ -128,6 +137,36 @@
                     }
                 }
                 //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);
+                    }
+                }
+                //endregion
             } catch (Exception e) {
                 log.error("鍚屾澶栬仈浠诲姟鎵ц鍑洪敊" + e.getMessage());
             }
@@ -148,7 +187,7 @@
 
     @Override
     public ArdEquipExternal selectArdEquipExternal(ArdEquipExternal ardEquipExternal) {
-        QueryWrapper<ArdEquipExternal> queryWrapper=new QueryWrapper<>(ardEquipExternal);
+        QueryWrapper<ArdEquipExternal> queryWrapper = new QueryWrapper<>(ardEquipExternal);
         return ardEquipExternalMapper.selectOne(queryWrapper);
     }
 
@@ -160,7 +199,7 @@
      */
     @Override
     public List<ArdEquipExternal> selectArdEquipExternalList(ArdEquipExternal ardEquipExternal) {
-        QueryWrapper<ArdEquipExternal> queryWrapper=new QueryWrapper<>(ardEquipExternal);
+        QueryWrapper<ArdEquipExternal> queryWrapper = new QueryWrapper<>(ardEquipExternal);
         return ardEquipExternalMapper.selectList(queryWrapper);
     }
 

--
Gitblit v1.9.3