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