From d772fedd4df8eecb78085c112e4939d29ba1b665 Mon Sep 17 00:00:00 2001
From: Administrator <ard@qq.com>
Date: 星期四, 26 十月 2023 09:58:46 +0800
Subject: [PATCH] 修改报错
---
ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java | 50 ++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 48 insertions(+), 2 deletions(-)
diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java b/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java
index 9bfeeb1..1ef2e1a 100644
--- a/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java
@@ -4,14 +4,17 @@
import java.util.stream.Collectors;
import com.ruoyi.common.constant.CacheConstants;
+import com.ruoyi.common.constant.CameraConstants;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.device.camera.domain.CameraCmd;
import com.ruoyi.device.channel.domain.ArdChannel;
import com.ruoyi.device.channel.mapper.ArdChannelMapper;
+import com.ruoyi.media.service.IVtduService;
import com.ruoyi.scheduling.domian.SchedulingParam;
import com.ruoyi.utils.gis.GisUtil;
import com.ruoyi.utils.tools.ArdTool;
@@ -45,10 +48,17 @@
@Resource
private ArdChannelMapper ardChannelMapper;
+ @Resource
+ private IVtduService vtduService;
@PostConstruct
public void loadCameras() {
+
+ //娓呯┖鐩告満缂撳瓨
+ Collection<String> cacheKeys = redisCache.keys(getCacheKey("*"));
+ redisCache.deleteObject(cacheKeys);
+ //閲嶆柊鍔犺浇鐩告満鍒扮紦瀛�
List<ArdCameras> ardCameras = selectArdCamerasListNoDataScope(new ArdCameras());
for (ArdCameras ardCamera : ardCameras) {
redisCache.setCacheObject(getCacheKey(ardCamera.getId()), ardCamera);
@@ -74,7 +84,16 @@
*/
@Override
public ArdCameras selectArdCamerasById(String id) {
- return ardCamerasMapper.selectArdCamerasById(id);
+ ArdCameras ardCameras = ardCamerasMapper.selectArdCamerasById(id);
+ if (ardCameras != null) {
+ ArdChannel ardChannel = new ArdChannel();
+ ardChannel.setDeviceId(ardCameras.getId());
+ List<ArdChannel> ardChannels = ardChannelMapper.selectArdChannelList(ardChannel);
+ if (ardChannels != null) {
+ ardCameras.setChannelList(ardChannels);
+ }
+ }
+ return ardCameras;
}
/**
@@ -156,6 +175,8 @@
if (res > 0) {
for (String id : ids) {
redisCache.deleteObject(getCacheKey(id));
+ //鍒犻櫎娴佸獟浣�
+ vtduService.deleteVtduByCameraId(id);
//鍒犻櫎褰撳墠鐩告満鐨勬墍鏈夐�氶亾
ardChannelMapper.deleteArdChannelByDeviceId(id);
}
@@ -180,7 +201,15 @@
}
public List findOptions(ArdCameras ardCameras) {
- return ardCamerasMapper.findOptions(ardCameras);
+ List<ArdCameras> options = ardCamerasMapper.findOptions(ardCameras);
+ for (ArdCameras camera :
+ options) {
+ ArdChannel ardChannel = new ArdChannel();
+ ardChannel.setDeviceId(camera.getId());
+ List<ArdChannel> ardChannels = ardChannelMapper.selectArdChannelList(ardChannel);
+ camera.setChannelList(ardChannels);
+ }
+ return options;
}
/**
@@ -393,4 +422,21 @@
return null;
}
+ /**
+ * 鏍¢獙鐩告満鏄惁鍞竴
+ *
+ * @param camera 鐩告満
+ * @return 缁撴灉
+ */
+ @Override
+ public String checkCameraIpAndPortUnique(ArdCameras camera) {
+ String id = camera.getId();
+ String ip = camera.getIp();
+ Integer port = camera.getPort();
+ ArdCameras info = ardCamerasMapper.checkCameraIpAndPortUnique(ip, port);
+ if (StringUtils.isNotNull(info) && !info.getId().equals(id)) {
+ return CameraConstants.NOT_UNIQUE;
+ }
+ return CameraConstants.UNIQUE;
+ }
}
--
Gitblit v1.9.3