| | |
| | | public void run(ApplicationArguments args) { |
| | | //加载sdk库 |
| | | HikClientUtil.loadHCNetSDKLib(); |
| | | //获取全部海康光电尝试登录 |
| | | ardCameraList = ardCamerasMapper.selectArdCamerasList(new ArdCameras()); |
| | | //获取小光电尝试登录 |
| | | ArdCameras ardCamera=new ArdCameras(); |
| | | ardCamera.setGdtype("0"); |
| | | ardCameraList = ardCamerasMapper.selectArdCamerasList(ardCamera); |
| | | HikClientUtil.loginAllCamera(ardCameraList); |
| | | syncTask(); |
| | | } |
| | |
| | | private void syncTask() { |
| | | scheduler.scheduleAtFixedRate(() -> { |
| | | try { |
| | | //region 定时同步相机 |
| | | List<ArdCameras> newArdCameraList = ardCamerasMapper.selectArdCamerasList(new ArdCameras()); |
| | | //region 定时同步小光电 |
| | | ArdCameras ardCamera=new ArdCameras(); |
| | | ardCamera.setGdtype("0"); |
| | | List<ArdCameras> newArdCameraList = ardCamerasMapper.selectArdCamerasList(ardCamera); |
| | | //需要更新的数据 |
| | | List<ArdCameras> updateList = sameListWithDifferent(ardCameraList, newArdCameraList); |
| | | if (updateList.size() > 0) { |
| | |
| | | .findFirst() |
| | | .orElse(null); |
| | | |
| | | return oldItem == null || |
| | | !Objects.equals(oldItem.getUpdateTime(), newItem.getUpdateTime()) || |
| | | !Objects.equals(oldItem.getIp(), newItem.getIp()) || |
| | | !Objects.equals(oldItem.getPort(), newItem.getPort()) || |
| | | !Objects.equals(oldItem.getUsername(), newItem.getUsername()) || |
| | | !Objects.equals(oldItem.getPassword(), newItem.getPassword()); |
| | | return oldItem == null || !Objects.equals(oldItem.getUpdateTime(), newItem.getUpdateTime()); |
| | | |
| | | }) |
| | | .collect(Collectors.toList()); |