From 2574db703fa175765394dba9d4e0d623a1bcd16a Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期三, 29 十一月 2023 17:19:57 +0800
Subject: [PATCH] 修复bug

---
 src/main/java/com/ard/alarm/external/service/impl/ArdEquipExternalServiceImpl.java |  143 +++++++++--------------------------------------
 1 files changed, 27 insertions(+), 116 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..782a1c9 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
@@ -35,35 +35,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 +58,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 +92,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 +105,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 +137,6 @@
 
         return differentFieldsList;
     }
-
-
     //  姹備袱涓璞ist鐨勫樊闆�
     private List<ArdEquipExternal> diffList(List<ArdEquipExternal> oldArrayList, List<ArdEquipExternal> newArrayList) {
         List<ArdEquipExternal> resultList = oldArrayList.stream()

--
Gitblit v1.9.3