| | |
| | | import com.ard.alarm.external.domain.ArdEquipExternal; |
| | | import com.ard.alarm.external.mapper.ArdEquipExternalMapper; |
| | | import com.ard.utils.hiksdk.service.impl.HikClientUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.boot.ApplicationArguments; |
| | | import org.springframework.boot.ApplicationRunner; |
| | |
| | | private final static ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1); |
| | | |
| | | public static List<ArdCameras> ardCameraList = new ArrayList<>(); |
| | | |
| | | @Resource |
| | | private ArdCamerasMapper ardCamerasMapper; |
| | | |
| | | //初始化执行 |
| | | @Override |
| | | public void run(ApplicationArguments args) { |
| | | //加载sdk库 |
| | | HikClientUtil.loadHCNetSDKLib(); |
| | | //获取小光电尝试登录 |
| | | ArdCameras ardCamera=new ArdCameras(); |
| | | ardCamera.setGdtype("0"); |
| | | ardCameraList = ardCamerasMapper.selectArdCamerasList(ardCamera); |
| | | ardCameraList = selectArdCamerasList(new ArdCameras()); |
| | | HikClientUtil.loginAllCamera(ardCameraList); |
| | | syncTask(); |
| | | syncCameraListTask(); |
| | | } |
| | | |
| | | /** |
| | | * 同步任务 |
| | | * 同步相机列表任务 |
| | | * 实时获取在线的小光电 |
| | | * 刘苏义 |
| | | * 2023/8/11 9:09:27 |
| | | */ |
| | | private void syncTask() { |
| | | private void syncCameraListTask() { |
| | | scheduler.scheduleAtFixedRate(() -> { |
| | | try { |
| | | //region 定时同步小光电 |
| | | ArdCameras ardCamera=new ArdCameras(); |
| | | ardCamera.setGdtype("0"); |
| | | List<ArdCameras> newArdCameraList = ardCamerasMapper.selectArdCamerasList(ardCamera); |
| | | List<ArdCameras> newArdCameraList = selectArdCamerasList(new ArdCameras()); |
| | | //需要更新的数据 |
| | | List<ArdCameras> updateList = sameListWithDifferent(ardCameraList, newArdCameraList); |
| | | if (updateList.size() > 0) { |
| | |
| | | } |
| | | |
| | | /** |
| | | * 查询相机设备 |
| | | * |
| | | * @param id 相机设备主键 |
| | | * @return 相机设备 |
| | | */ |
| | | @Override |
| | | public ArdCameras selectArdCamerasById(String id) { |
| | | return ardCamerasMapper.selectArdCamerasById(id); |
| | | } |
| | | |
| | | /** |
| | | * 查询相机设备列表 |
| | | * |
| | | * @param ardCameras 相机设备 |
| | | * @param ardCamera 相机设备 |
| | | * @return 相机设备 |
| | | */ |
| | | @Override |
| | | public List<ArdCameras> selectArdCamerasList(ArdCameras ardCameras) { |
| | | return ardCamerasMapper.selectArdCamerasList(ardCameras); |
| | | public List<ArdCameras> selectArdCamerasList(ArdCameras ardCamera) { |
| | | ardCamera.setGdType("0"); |
| | | Wrapper<ArdCameras> queryWrapper=new QueryWrapper<>(ardCamera); |
| | | return ardCamerasMapper.selectList(queryWrapper); |
| | | } |
| | | |
| | | |