From 4e8a1c02b45f72f6377603778e8c8746ed82f374 Mon Sep 17 00:00:00 2001
From: zhaowenyu <35589726@qq.com>
Date: Tue, 06 Jan 2026 10:04:33 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev
---
ard-device/src/main/java/com/ard/device/camera/service/impl/ArdCameraServiceImpl.java | 86 +-----------------------------------------
1 files changed, 3 insertions(+), 83 deletions(-)
diff --git a/ard-device/src/main/java/com/ard/device/camera/service/impl/ArdCameraServiceImpl.java b/ard-device/src/main/java/com/ard/device/camera/service/impl/ArdCameraServiceImpl.java
index b8f40d8..e55b8cc 100644
--- a/ard-device/src/main/java/com/ard/device/camera/service/impl/ArdCameraServiceImpl.java
+++ b/ard-device/src/main/java/com/ard/device/camera/service/impl/ArdCameraServiceImpl.java
@@ -163,7 +163,7 @@
ardCamera.setUpdateBy(SecurityUtils.getUsername());
int res = ardCameraMapper.updateArdCamera(ardCamera);
if (res > 0) {
- cameraSDKService.logout(ardCamera.getId());//sdk注销
+ cameraSDKService.logout(ardCamera);//sdk注销
cameraSDKService.login(ardCamera);//sdk登录获取通道信息
}
return res;
@@ -186,7 +186,7 @@
//删除当前相机的所有通道
ardChannelService.deleteArdChannelByDeviceId(id);
//sdk注销
- cameraSDKService.logout(id);
+ cameraSDKService.logout(camera);
}
}
return ardCameraMapper.deleteArdCameraByIds(ids);
@@ -207,7 +207,7 @@
//删除当前相机的所有通道
ardChannelService.deleteArdChannelByDeviceId(id);
//sdk注销
- cameraSDKService.logout(id);
+ cameraSDKService.logout(ArdCamera.builder().id(id).build());
}
return i;
}
@@ -373,84 +373,4 @@
redisService.setCacheObject(getCacheKey(camera.getId()), camera);
}
- /**
- * 同步设备通道与本地通道库信息
- *
- * @author 刘苏义
- * @date 2024/8/22 14:37
- */
- @Scheduled(cron = "0/10 * * * * ?")
- public void syncChannel() {
- try {
- log.debug("定时执行同步通道任务");
- List<ArdCamera> ardCameraList = this.selectArdCameraList(new ArdCamera());
- if (!ardCameraList.isEmpty()) {
- ardCameraList
- .forEach(ardCamera -> {
- //SDK获取实际通道
- List<ArdChannel> ardChannelListSDK = cameraSDKService.getChannels(ardCamera);
- //数据库获取通道
- ArdChannel ardChannel = new ArdChannel();
- ardChannel.setDeviceId(ardCamera.getId());
- List<ArdChannel> ardChannelListDb = ardChannelService.selectArdChannelList(ardChannel);
- //同步通道
- asyncChannel(ardChannelListDb, ardChannelListSDK);
- });
- }
- } catch (Exception ex) {
- log.error("定时执行同步通道任务异常:{}", ex.getMessage());
- }
- }
-
- /**
- * 定时执行登录失败相机重新登录
- *
- * @author 刘苏义
- * @date 2024/8/22 14:37
- */
- @Scheduled(cron = "0/30 * * * * ?")
- public void failedReconnect() {
- try {
- log.debug("定时执行失败相机重连任务");
- List<Object> ardCameras = redisService.getListKey(CacheConstants.CAMERA_LIST_KEY);
- ardCameras.stream()
- .map(object -> (ArdCamera) object) // 将Object转换为ArdCameras
- .filter(camera -> !GlobalVariable.loginMap.containsKey(camera.getId()))
- .forEach(camera -> cameraSDKService.login(camera));
- } catch (Exception ex) {
- log.error("定时执行失败相机重连任务异常:{}", ex.getMessage());
- }
- }
-
- /**
- * 同步相机在线状态
- * 刘苏义
- * 2023/10/8 14:54:41
- */
- @Scheduled(cron = "0/10 * * * * ?")
- public void cameraState() {
- try {
- log.debug("定时执行同步相机在线状态任务");
- //调用查询方法
- List<ArdCamera> ardCameraList = selectArdCameraList(new ArdCamera());
- ardCameraList
- .forEach(camera -> {
- CameraCmd cmd = new CameraCmd();
- cmd.setCameraId(camera.getId());
- boolean onLineNew = cameraSDKService.isOnLine(cmd);
- boolean onLineOld = "1".equals(camera.getState());
- if (onLineNew != onLineOld) {
- if (onLineNew) {
- camera.setState("1");
- } else {
- camera.setState("0");
- }
- camera.setUpdateTime(DateUtils.getNowDate());
- ardCameraMapper.updateArdCamera(camera);
- }
- });
- } catch (Exception ex) {
- log.error("同步相机在线状态异常:{}", ex.getMessage());
- }
- }
}
\ No newline at end of file
--
Gitblit v1.9.3