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 | 125 ++++++++++++++++++++++++++++------------- 1 files changed, 86 insertions(+), 39 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 9d77347..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 @@ -11,12 +11,15 @@ import com.ard.alarm.external.mapper.ArdEquipExternalMapper; import com.ard.alarm.external.service.IArdEquipExternalService; import com.ard.utils.hiksdk.service.impl.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; import org.springframework.stereotype.Service; + +import javax.annotation.Resource; /** @@ -29,26 +32,39 @@ @Slf4j(topic = "external") @Order(5) public class ArdEquipExternalServiceImpl implements IArdEquipExternalService, ApplicationRunner { + private final static ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1); + 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) throws Exception { + public void run(ApplicationArguments args) { //鑾峰彇鍏ㄩ儴娴峰悍鎶ヨ涓绘満灏濊瘯鐧诲綍 ArdEquipExternal alarmHost = new ArdEquipExternal(); alarmHost.setFactory("1"); alarmHost.setType("1"); - ardAlarmHostList = ardEquipExternalMapper.selectArdEquipExternalList(alarmHost); + ardAlarmHostList = selectArdEquipExternalList(alarmHost); HikClientUtil.loginAllAlarmHost(ardAlarmHostList); + log.debug("鎶ヨ涓绘満灏濊瘯鐧诲綍"); //鑾峰彇鍏ㄩ儴闂ㄧ涓绘満灏濊瘯鐧诲綍 ArdEquipExternal accessControlHost = new ArdEquipExternal(); accessControlHost.setFactory("1"); accessControlHost.setType("6"); - ardAccessHostList = ardEquipExternalMapper.selectArdEquipExternalList(accessControlHost); + 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(); } @@ -64,7 +80,7 @@ ArdEquipExternal alarmHost = new ArdEquipExternal(); alarmHost.setFactory("1"); alarmHost.setType("1"); - List<ArdEquipExternal> newAlarmHostList = ardEquipExternalMapper.selectArdEquipExternalList(alarmHost); + List<ArdEquipExternal> newAlarmHostList = selectArdEquipExternalList(alarmHost); //闇�瑕佹洿鏂扮殑鏁版嵁 List<ArdEquipExternal> updateList = sameListWithDifferent(ardAlarmHostList, newAlarmHostList); if (updateList.size() > 0) { @@ -92,12 +108,12 @@ //endregion //region 瀹氭椂鍚屾闂ㄧ涓绘満 - alarmHost = new ArdEquipExternal(); - alarmHost.setFactory("1"); - alarmHost.setType("6"); - List<ArdEquipExternal> newAccessHostList = ardEquipExternalMapper.selectArdEquipExternalList(alarmHost); + ArdEquipExternal accessHost = new ArdEquipExternal(); + accessHost.setFactory("1"); + accessHost.setType("6"); + List<ArdEquipExternal> newAccessHostList = selectArdEquipExternalList(accessHost); //闇�瑕佹洿鏂扮殑鏁版嵁 - updateList = sameListWithDifferent(ardAccessHostList, newAccessHostList); + updateList = sameListWithDifferent(ardAccessHostList, newAccessHostList); if (updateList.size() > 0) { HikClientUtil.logoutAllAlarmHost(updateList); HikClientUtil.loginAllAlarmHost(updateList); @@ -121,10 +137,70 @@ } } //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()); } }, 10, 10, TimeUnit.SECONDS); + } + + + /** + * 鏌ヨexternal + * + * @param id 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); + return ardEquipExternalMapper.selectOne(queryWrapper); + } + + /** + * 鏌ヨexternal鍒楄〃 + * + * @param ardEquipExternal external + * @return external + */ + @Override + public List<ArdEquipExternal> selectArdEquipExternalList(ArdEquipExternal ardEquipExternal) { + QueryWrapper<ArdEquipExternal> queryWrapper = new QueryWrapper<>(ardEquipExternal); + return ardEquipExternalMapper.selectList(queryWrapper); } @@ -157,33 +233,4 @@ .collect(Collectors.toList()); return resultList; } - - /** - * 鏌ヨexternal - * - * @param id external涓婚敭 - * @return external - */ - @Override - public ArdEquipExternal selectArdEquipExternalById(String id) { - return ardEquipExternalMapper.selectArdEquipExternalById(id); - } - - @Override - public ArdEquipExternal selectArdEquipExternal(ArdEquipExternal ardEquipExternal) { - return ardEquipExternalMapper.selectArdEquipExternal(ardEquipExternal); - } - - /** - * 鏌ヨexternal鍒楄〃 - * - * @param ardEquipExternal external - * @return external - */ - @Override - public List<ArdEquipExternal> selectArdEquipExternalList(ArdEquipExternal ardEquipExternal) { - return ardEquipExternalMapper.selectArdEquipExternalList(ardEquipExternal); - } - - } -- Gitblit v1.9.3