From 7b9bb72cd616ddbcb66e7d7384ee512334e64453 Mon Sep 17 00:00:00 2001 From: zhangnaisong <2434969829@qq.com> Date: 星期二, 12 三月 2024 09:40:07 +0800 Subject: [PATCH] app光电查询修提交 --- ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java | 9 +++++++++ ard-work/src/main/java/com/ruoyi/device/camera/service/IArdCamerasService.java | 2 ++ ard-work/src/main/java/com/ruoyi/device/camera/mapper/ArdCamerasMapper.java | 4 ++++ ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java | 6 ++++++ ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml | 36 ++++++++++++++++++++++++++++++++++++ 5 files changed, 57 insertions(+), 0 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java b/ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java index 8b0fe68..1f5b15d 100644 --- a/ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java +++ b/ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java @@ -5,6 +5,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell; import com.ruoyi.common.constant.CameraConstants; +import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.device.camera.domain.ArdCameras; import com.ruoyi.device.camera.domain.CameraCmd; import com.ruoyi.device.camera.domain.DeptAndCamerasDto; @@ -214,4 +215,12 @@ TreeMap nearCamerasBycoordinate = ardCamerasService.getNearCamerasBycoordinate(cmd); return AjaxResult.success(nearCamerasBycoordinate); } + + @GetMapping("/getCamerasByDeptId") + @ApiOperation("鑾峰彇鏉冮檺鍙婁笅灞炴潈闄愪笅鐨勭浉鏈�") + public AjaxResult getCamerasByDeptId() { + Long deptId = SecurityUtils.getDeptId(); + List<Map<String,Object>> camerasList = ardCamerasService.getCamerasByDeptId(deptId); + return AjaxResult.success(camerasList); + } } diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/mapper/ArdCamerasMapper.java b/ard-work/src/main/java/com/ruoyi/device/camera/mapper/ArdCamerasMapper.java index 719ede0..b480c6c 100644 --- a/ard-work/src/main/java/com/ruoyi/device/camera/mapper/ArdCamerasMapper.java +++ b/ard-work/src/main/java/com/ruoyi/device/camera/mapper/ArdCamerasMapper.java @@ -1,6 +1,8 @@ package com.ruoyi.device.camera.mapper; import java.util.List; +import java.util.Map; + import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.common.annotation.DataScope; import com.ruoyi.device.camera.domain.ArdCameras; @@ -87,4 +89,6 @@ * @return 鐩告満淇℃伅 */ public ArdCameras checkCameraIpAndPortUnique(@Param("ip") String ip, @Param("port")Integer port); + + public List<Map<String, Object>> getCamerasByDeptId(Long deptId); } diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/service/IArdCamerasService.java b/ard-work/src/main/java/com/ruoyi/device/camera/service/IArdCamerasService.java index ae22d43..5901692 100644 --- a/ard-work/src/main/java/com/ruoyi/device/camera/service/IArdCamerasService.java +++ b/ard-work/src/main/java/com/ruoyi/device/camera/service/IArdCamerasService.java @@ -131,4 +131,6 @@ * @return 缁撴灉 */ public String checkCameraIpAndPortUnique(ArdCameras camera); + + public List<Map<String,Object>> getCamerasByDeptId(Long deptId); } 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 cfb7b29..a1811dd 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 @@ -560,4 +560,10 @@ } return CameraConstants.UNIQUE; } + + @Override + public List<Map<String, Object>> getCamerasByDeptId(Long deptId) { + List<Map<String, Object>> result = ardCamerasMapper.getCamerasByDeptId(deptId); + return result; + } } diff --git a/ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml b/ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml index 5f7c930..cb74bd9 100644 --- a/ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml +++ b/ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml @@ -288,4 +288,40 @@ where ip = #{ip} and port = #{port} limit 1 </select> + <select id="getCamerasByDeptId" resultType="java.util.Map" parameterType="java.lang.Long"> + with recursive rsd as ( + select ac.id,ac.name,ac.ip,ac.port,ac.username,ac.password,ac.longitude,ac.latitude,ac.altitude,ac.channel,ac.dept_id as "deptId", + ac.gdtype,ac.state,sdd.dict_label as "dictLabel",sdd0.dict_label as factory, + case sdd0.dict_label + when '娴峰悍' then concat('rtsp://',ac.username,':',ac.password,'@',ac.ip,':',ac.rtsp_port,'/h264/ch1/main/av_stream') + when '澶у崕' then concat('rtsp://',ac.username,':',ac.password,'@',ac.ip,':',ac.rtsp_port,'/cam/realmonitor?channel=1&subtype=1') + end as rtsp + from sys_dept sd + inner join ard_cameras ac on sd.dept_id = ac.dept_id + inner join sys_dict_data sdd on ac.gdtype = sdd.dict_value + inner join sys_dict_type sdt on sdd.dict_type = sdt.dict_type + inner join sys_dict_data sdd0 on ac.factory = sdd0.dict_value + inner join sys_dict_type sdt0 on sdd0.dict_type = sdt0.dict_type + where sd.dept_id = #{deptId} + and sdt.dict_type = 'camera_type' and (sdd.dict_label = '灏忓厜鐢�' or sdd.dict_label = '澶у厜鐢�') + and sdt0.dict_type = 'factory' + union + select ac.id,ac.name,ac.ip,ac.port,ac.username,ac.password,ac.longitude,ac.latitude,ac.altitude,ac.channel,ac.dept_id as "deptId", + ac.gdtype,ac.state,sdd.dict_label as "dictLabel",sdd0.dict_label as factory, + case sdd0.dict_label + when '娴峰悍' then concat('rtsp://',ac.username,':',ac.password,'@',ac.ip,':',ac.rtsp_port,'/h264/ch1/main/av_stream') + when '澶у崕' then concat('rtsp://',ac.username,':',ac.password,'@',ac.ip,':',ac.rtsp_port,'/cam/realmonitor?channel=1&subtype=1') + end as rtsp + from sys_dept csd + inner join rsd on rsd."deptId" = csd.parent_id + inner join ard_cameras ac on csd.dept_id = ac.dept_id + inner join sys_dict_data sdd on ac.gdtype = sdd.dict_value + inner join sys_dict_type sdt on sdd.dict_type = sdt.dict_type + inner join sys_dict_data sdd0 on ac.factory = sdd0.dict_value + inner join sys_dict_type sdt0 on sdd0.dict_type = sdt0.dict_type + and sdt.dict_type = 'camera_type' and (sdd.dict_label = '灏忓厜鐢�' or sdd.dict_label = '澶у厜鐢�') + and sdt0.dict_type = 'factory' + ) + select distinct * from rsd order by "dictLabel" + </select> </mapper> -- Gitblit v1.9.3