From 08092564eadde2dd297c3921c5889be0761e6d07 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期一, 25 三月 2024 09:27:14 +0800
Subject: [PATCH] 相机密码配置数据脱敏 app用户令牌刷新时间由365天改为3天

---
 ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml |  116 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 113 insertions(+), 3 deletions(-)

diff --git a/ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml b/ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml
index 64e4e3a..38ff325 100644
--- a/ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml
+++ b/ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml
@@ -107,6 +107,7 @@
             <!-- 鏁版嵁鑼冨洿杩囨护 -->
             ${params.dataScope}
         </where>
+        order  by c.name
     </select>
     <select id="selectArdCamerasListNoDataScope" parameterType="ArdCameras" resultMap="ArdCamerasResult">
         <include refid="selectArdCamerasVo"/>
@@ -281,7 +282,116 @@
         from ard_cameras
         where dept_id = #{deptId}
     </select>
-    <select id="checkCameraIpAndPortUnique"  resultMap="ArdCamerasResult">
-        select * from ard_cameras where ip=#{ip} and port=#{port} limit 1
+    <select id="checkCameraIpAndPortUnique" resultMap="ArdCamerasResult">
+        select *
+        from ard_cameras
+        where ip = #{ip}
+          and port = #{port} limit 1
     </select>
-</mapper>
\ No newline at end of file
+    <!--<select id="getCamerasByDeptId" resultType="java.util.Map" >
+        select distinct * from (
+           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&amp;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&amp;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 * from rsd
+           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&amp;subtype=1')
+                      end as rtsp from sys_user_role sur
+                                           inner join sys_role_dept srd on sur.role_id = srd.role_id
+                                           inner join ard_cameras ac on srd.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 sur.user_id = #{userId} and sdt.dict_type = 'camera_type' and (sdd.dict_label = '灏忓厜鐢�' or sdd.dict_label = '澶у厜鐢�') and sdt0.dict_type = 'factory'
+       )t order by "dictLabel"
+    </select>-->
+    <select id="getCamerasByDeptId" resultType="java.util.Map" >
+        select distinct * from (
+           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&amp;subtype=1')
+                      end as rtsp
+           from  ard_cameras ac
+                    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 ac.dept_id in
+           <foreach collection="deptIdList" open="(" close=")" separator="," item="deptId">
+               #{deptId}
+           </foreach>
+           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&amp;subtype=1')
+                      end as rtsp from sys_user_role sur
+                                           inner join sys_role_dept srd on sur.role_id = srd.role_id
+                                           inner join ard_cameras ac on srd.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 sur.user_id = #{userId} and sdt.dict_type = 'camera_type' and (sdd.dict_label = '灏忓厜鐢�' or sdd.dict_label = '澶у厜鐢�') and sdt0.dict_type = 'factory'
+       )t order by "dictLabel"
+    </select>
+    <select id="getCameraOperationByCameraId" resultType="java.lang.Boolean" parameterType="java.lang.String">
+        select
+            case now() > ac.operator_expired or ac.operator_expired is null
+                when true then true
+                when (
+                    case ((select cast(su.camera_priority as integer) from sys_user su
+                           where su.user_id = #{userId}) > (select cast(su.camera_priority as integer) from sys_user su
+                                                      inner join ard_cameras ac on su.user_id = ac.operator_id
+                                                      where ac.id = #{id} ))
+                        when true then true
+                        when false then false end) then false
+                end
+        from ard_cameras ac
+        where ac.id = #{id}
+    </select>
+    <select id="getChannelByCameraId" resultType="java.util.Map" parameterType="java.lang.String">
+        select * from ard_channel ac
+        inner join sys_config sc on sc.config_key = 'dayNightTime'
+        where ac.device_id = #{id}
+    </select>
+</mapper>

--
Gitblit v1.9.3