From fdbb8d1d091524727456bf63d86b9612d39f822d Mon Sep 17 00:00:00 2001
From: Administrator <1144154118@qq.com>
Date: 星期一, 21 八月 2023 17:18:17 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java | 49 +++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 43 insertions(+), 6 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 85cf727..e14f950 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
@@ -11,7 +11,11 @@
import com.ruoyi.common.utils.SecurityUtils;
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.device.channel.service.IArdChannelService;
import com.ruoyi.device.hiksdk.common.GlobalVariable;
+import com.ruoyi.device.hiksdk.service.IHikClientService;
import com.ruoyi.scheduling.domian.SchedulingParam;
import com.ruoyi.system.domain.SysConfig;
import com.ruoyi.utils.tools.ArdTool;
@@ -43,6 +47,9 @@
private SysDeptMapper sysDeptMapper;
@Resource
private RedisCache redisCache;
+
+ @Resource
+ private ArdChannelMapper ardChannelMapper;
@PostConstruct
@@ -111,7 +118,20 @@
ardCameras.setCreateTime(DateUtils.getNowDate());
ardCameras.setUserId(SecurityUtils.getUserId());
redisCache.setCacheObject(getCacheKey(ardCameras.getId()), ardCameras);
- return ardCamerasMapper.insertArdCameras(ardCameras);
+ int i = ardCamerasMapper.insertArdCameras(ardCameras);
+ if (i > 0) {
+// //鍒犻櫎褰撳墠鐩告満鐨勬墍鏈夐�氶亾
+// ardChannelMapper.deleteArdChannelByDeviceId(ardCameras.getId());
+// //鑾峰彇鐩告満閫氶亾
+// List<ArdChannel> ipChannelList = hikClientService.getCameraChannelList(ardCameras);
+// if (ipChannelList.size() > 0) {
+// for (ArdChannel channel : ipChannelList) {
+// channel.setId(IdUtils.simpleUUID());
+// ardChannelMapper.insertArdChannel(channel);
+// }
+// }
+ }
+ return i;
}
/**
@@ -143,6 +163,8 @@
if (res > 0) {
for (String id : ids) {
redisCache.deleteObject(getCacheKey(id));
+ //鍒犻櫎褰撳墠鐩告満鐨勬墍鏈夐�氶亾
+ ardChannelMapper.deleteArdChannelByDeviceId(id);
}
}
return res;
@@ -156,7 +178,12 @@
*/
@Override
public int deleteArdCamerasById(String id) {
- return ardCamerasMapper.deleteArdCamerasById(id);
+ int i = ardCamerasMapper.deleteArdCamerasById(id);
+ if (i > 0) {
+ //鍒犻櫎褰撳墠鐩告満鐨勬墍鏈夐�氶亾
+ ardChannelMapper.deleteArdChannelByDeviceId(id);
+ }
+ return i;
}
public List findOptions(ArdCameras ardCameras) {
@@ -207,6 +234,13 @@
}
if (ardCameras.size() > 0) {
for (ArdCameras camera : ardCameras) {
+ ArdChannel ardChannel=new ArdChannel();
+ ardChannel.setDeviceId(camera.getId());
+ List<ArdChannel> ardChannels = ardChannelMapper.selectArdChannelList(ardChannel);
+ if(ardChannels!=null)
+ {
+ camera.setChannelList(ardChannels);
+ }
Map<String, Object> cameraMap = ArdTool.convertEntityToMap(camera);
childList.add(cameraMap);
}
@@ -249,7 +283,7 @@
}
if (distance != 0.0 && distance <= camera.getCamMaxVisibleDistance()) {
distanceMap.put(camera.getId(), distance);
- camera.setChannel(ArdTool.getChannelBydayNightTime(dayNightTime));
+ camera.setChanNo(ArdTool.getChannelBydayNightTime(dayNightTime));
ardCameras.put(distance, camera);
}
@@ -269,6 +303,7 @@
@Override
public List<ArdCameras> getNearCameras(SchedulingParam param) {
try {
+ Long deptId=SecurityUtils.getLoginUser().getUser().getDeptId();
Double longitude = param.getLongitude();
Double latitude = param.getLatitude();
if (longitude == null && latitude == null) {
@@ -281,8 +316,10 @@
return null;
}
String dayNightTime = redisCache.getCacheObject("sys_config:dayNightTime");
- //鑾峰彇鎵�鏈夊厜鐢�
- List<ArdCameras> ardCamerasList = ardCamerasMapper.selectArdCamerasList(new ArdCameras());
+ //鑾峰彇鎵�鏈夊厜鐢�(鎸夐儴闂�)
+ ArdCameras cameras= new ArdCameras();
+ cameras.setDeptId(deptId);
+ List<ArdCameras> ardCamerasList = ardCamerasMapper.selectArdCamerasList(cameras);
//缁熻鎵�鏈夊厜鐢靛彲瑙嗚寖鍥村唴涓庢姤璀︾偣鐨勮窛绂�
List<ArdCameras> ardCameras = new ArrayList<>();
for (ArdCameras camera : ardCamerasList) {
@@ -292,7 +329,7 @@
double[] camPosition = new double[]{camera.getLongitude(), camera.getLatitude()};
double distance = GisTool.getDistance(new double[]{longitude, latitude}, camPosition);
if (distance <= radius) {
- camera.setChannel(ArdTool.getChannelBydayNightTime(dayNightTime));
+ camera.setChanNo(ArdTool.getChannelBydayNightTime(dayNightTime));
ardCameras.add(camera);
}
}
--
Gitblit v1.9.3