From a70d0dfe221e06381b6e290d1dab85c9ab4fdc31 Mon Sep 17 00:00:00 2001
From: aijinhui <aijinhui>
Date: 星期六, 23 三月 2024 08:36:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev
---
ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java | 3
ard-work/src/main/java/com/ruoyi/device/camera/service/IArdCamerasService.java | 2
ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarPumpMapper.xml | 14 ++--
ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java | 4 +
ard-work/src/main/java/com/ruoyi/media/service/impl/MediaServiceImpl.java | 21 ++++---
ard-work/src/main/java/com/ruoyi/device/camera/mapper/ArdCamerasMapper.java | 2
ard-work/src/main/java/com/ruoyi/utils/sdk/common/SdkErrorCodeEnum.java | 3
ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java | 7 --
ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java | 4
ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml | 85 ++++++++++++++++-----------
10 files changed, 82 insertions(+), 63 deletions(-)
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java
index f56ed47..39fa506 100644
--- a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java
@@ -51,6 +51,7 @@
import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.utils.tube.GeoPoint;
import com.ruoyi.utils.tube.TubeTools;
+import com.ruoyi.utils.websocket.util.WebSocketUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
@@ -1086,6 +1087,9 @@
String alarmpointName = ardAlarmRadar.getName();//鍏磋叮鐐瑰悕绉�
ArdAlarmpointsWell well = ardAlarmpointsWellMapper.selectArdAlarmpointsWellByWellId(alarmpointName);
if (well == null) {
+ Map<String, Object> map = new HashMap<>();
+ map.put("80000", alarmpointName);
+ WebSocketUtils.sendMessageAll(map);
String filePath = ARDConfig.getDownloadPath() + "noExistWell.txt";
writeStringToFile(alarmpointName, filePath);
continue;
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 268e82b..9eb2008 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
@@ -220,7 +220,8 @@
@ApiOperation("鑾峰彇鏉冮檺鍙婁笅灞炴潈闄愪笅鐨勭浉鏈�")
public AjaxResult getCamerasByDeptId() {
Long deptId = SecurityUtils.getDeptId();
- List<Map<String,Object>> camerasList = ardCamerasService.getCamerasByDeptId(deptId);
+ String userId = SecurityUtils.getUserId();
+ List<Map<String,Object>> camerasList = ardCamerasService.getCamerasByDeptId(deptId,userId);
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 9e39104..df9334a 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
@@ -90,7 +90,7 @@
*/
public ArdCameras checkCameraIpAndPortUnique(@Param("ip") String ip, @Param("port")Integer port);
- public List<Map<String, Object>> getCamerasByDeptId(Long deptId);
+ public List<Map<String, Object>> getCamerasByDeptId(@Param("deptId")Long deptId,@Param("userId")String userId);
public Boolean getCameraOperationByCameraId(@Param("id") String id, @Param("userId") String userId);
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 05ae7a1..860d96d 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
@@ -132,7 +132,7 @@
*/
public String checkCameraIpAndPortUnique(ArdCameras camera);
- public List<Map<String,Object>> getCamerasByDeptId(Long deptId);
+ public List<Map<String,Object>> getCamerasByDeptId(Long deptId,String userId);
public Boolean getCameraOperationByCameraId(String id,String userId);
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 00d2aff..7f7c334 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
@@ -564,8 +564,8 @@
}
@Override
- public List<Map<String, Object>> getCamerasByDeptId(Long deptId) {
- List<Map<String, Object>> result = ardCamerasMapper.getCamerasByDeptId(deptId);
+ public List<Map<String, Object>> getCamerasByDeptId(Long deptId,String userId) {
+ List<Map<String, Object>> result = ardCamerasMapper.getCamerasByDeptId(deptId,userId);
return result;
}
diff --git a/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java b/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java
index 9312614..097c4fa 100644
--- a/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java
@@ -116,7 +116,7 @@
public int updateArdVideoInspectTask(ArdVideoInspectTask ardVideoInspectTask) {
ardVideoInspectTask.setUpdateBy(SecurityUtils.getUsername());
ardVideoInspectTask.setUpdateTime(DateUtils.getNowDate());
- // ardVideoInspectTaskMapper.deleteArdVideoInspectTaskStepByTaskId(ardVideoInspectTask.getId());
+ ardVideoInspectTaskMapper.deleteArdVideoInspectTaskStepByTaskId(ardVideoInspectTask.getId());
insertArdVideoInspectTaskStep(ardVideoInspectTask);
return ardVideoInspectTaskMapper.updateArdVideoInspectTask(ardVideoInspectTask);
}
@@ -184,14 +184,9 @@
}
if (StringUtils.isNotNull(ardVideoInspectTaskStepList)) {
for (ArdVideoInspectTaskStep ardVideoInspectTaskStep : ardVideoInspectTaskStepList) {
- if (ardVideoInspectTaskStep.getId() == null) {
//鏂扮殑姝ラ,娣诲姞
ardVideoInspectTaskStep.setId(IdUtils.simpleUUID());
ardVideoInspectTaskStepMapper.insertArdVideoInspectTaskStep(ardVideoInspectTaskStep);
- } else {
- //宸叉湁姝ラ,鏇存柊
- ardVideoInspectTaskStepMapper.updateArdVideoInspectTaskStep(ardVideoInspectTaskStep);
- }
}
}
}
diff --git a/ard-work/src/main/java/com/ruoyi/media/service/impl/MediaServiceImpl.java b/ard-work/src/main/java/com/ruoyi/media/service/impl/MediaServiceImpl.java
index 694b3a5..eee6a8b 100644
--- a/ard-work/src/main/java/com/ruoyi/media/service/impl/MediaServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/media/service/impl/MediaServiceImpl.java
@@ -41,11 +41,11 @@
@Value("${mediamtx.host}")
String mediamtxHost;
+
@Override
public void run(ApplicationArguments args) throws Exception {
mediaNameList = getNameList();
- if(mediaNameList.size()>0)
- {
+ if (mediaNameList.size() > 0) {
removePath(mediaNameList.toArray(new String[0]));
mediaNameList.clear();
}
@@ -76,7 +76,7 @@
//榛樿杞В鐮�
String cmd = "ffmpeg -rtsp_transport tcp -i " + sourceUrl + " -vcodec libx264 -preset:v ultrafast -r 25 -keyint_min 25 -g 60 -sc_threshold 0 -threads 6 -b:v 2048k -acodec opus -strict -2 -f rtsp rtsp://localhost:$RTSP_PORT/$MTX_PATH";
if (mode.equals("0")) {//纭В鐮�
- cmd = rootPath+"ffmpeg -hwaccel cuvid -c:v hevc_cuvid -rtsp_transport tcp -i " + sourceUrl + " -c:v h264_nvenc -r 25 -g 60 -sc_threshold 0 -threads 6 -b:v 2048k -bf 0 -acodec opus -strict -2 -f rtsp rtsp://localhost:$RTSP_PORT/$MTX_PATH";
+ cmd = rootPath + "ffmpeg -hwaccel cuvid -c:v hevc_cuvid -rtsp_transport tcp -i " + sourceUrl + " -c:v h264_nvenc -r 25 -g 60 -sc_threshold 0 -threads 6 -b:v 2048k -bf 0 -acodec opus -strict -2 -f rtsp rtsp://localhost:$RTSP_PORT/$MTX_PATH";
}
conf.setRunOnDemand(cmd);
conf.setRunOnDemandRestart(true);
@@ -89,8 +89,8 @@
conf.setSourceProtocol("tcp");
if (!checkNameExist(name)) {
- mediaClient.addPath(name, conf);
- mediaNameList.add(name);
+ mediaClient.addPath(name, conf);
+ mediaNameList.add(name);
}
map.put("rtspUrl", rtspUrl);
@@ -172,11 +172,14 @@
@Override
public void removePath(String[] names) {
- for (String name : names) {
- if (checkNameExist(name)) {
- mediaClient.removePath(name);
- log.info("鍒犻櫎鎴愬姛");
+ try {
+ for (String name : names) {
+ if (checkNameExist(name)) {
+ mediaClient.removePath(name);
+ }
}
+ } catch (Exception ex) {
+ log.error("鎵归噺绉婚櫎娴佸獟浣撳紓甯革細" + ex.getMessage());
}
}
diff --git a/ard-work/src/main/java/com/ruoyi/utils/sdk/common/SdkErrorCodeEnum.java b/ard-work/src/main/java/com/ruoyi/utils/sdk/common/SdkErrorCodeEnum.java
index 4de2ff2..7cad149 100644
--- a/ard-work/src/main/java/com/ruoyi/utils/sdk/common/SdkErrorCodeEnum.java
+++ b/ard-work/src/main/java/com/ruoyi/utils/sdk/common/SdkErrorCodeEnum.java
@@ -14,7 +14,8 @@
NET_DVR_NOINIT(3, "SDK鏈垵濮嬪寲"),
NET_DVR_NETWORK_FAIL_CONNECT(7, "杩炴帴璁惧澶辫触銆傝澶囦笉鍦ㄧ嚎鎴栫綉缁滃師鍥犲紩璧风殑杩炴帴瓒呮椂绛�"),
NET_DVR_NETWORK_RECV_TIMEOUT(10, "浠庤澶囨帴鏀舵暟鎹秴鏃�"),
- NET_DVR_NETWORK_ERRORDATA(11, "浼犻�佺殑鏁版嵁鏈夎銆傚彂閫佺粰璁惧鎴栬�呬粠璁惧鎺ユ敹鍒扮殑鏁版嵁閿欒锛屽杩滅▼鍙傛暟閰嶇疆鏃惰緭鍏ヨ澶囦笉鏀寔鐨勫�笺��");
+ NET_DVR_NETWORK_ERRORDATA(11, "浼犻�佺殑鏁版嵁鏈夎銆傚彂閫佺粰璁惧鎴栬�呬粠璁惧鎺ユ敹鍒扮殑鏁版嵁閿欒锛屽杩滅▼鍙傛暟閰嶇疆鏃惰緭鍏ヨ澶囦笉鏀寔鐨勫��"),
+ NET_DVR_DVROPRATEFAILED(29, "璁惧鎿嶄綔澶辫触");
/**
* 鏋氫妇鐮�
*/
diff --git a/ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarPumpMapper.xml b/ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarPumpMapper.xml
index 10c5e89..4390856 100644
--- a/ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarPumpMapper.xml
+++ b/ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarPumpMapper.xml
@@ -3,7 +3,7 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.alarm.radar.mapper.ArdAlarmRadarPumpMapper">
-
+
<resultMap type="ArdAlarmRadarPump" id="ArdAlarmRadarPumpResult">
<result property="id" column="id" />
<result property="name" column="name" />
@@ -22,12 +22,12 @@
</resultMap>
<sql id="selectArdAlarmRadarPumpVo">
- select id, name, target_id, alarm_type, alarm_time, longitude, latitude, record_url1, view_time, create_by, create_time, user_id, dept_id, guide_time from ard_alarm_radar_pump
+ select id, name, target_id, alarm_type, alarm_time, longitude, latitude, record_url, view_time, create_by, create_time, user_id, dept_id, guide_time from ard_alarm_radar_pump
</sql>
<select id="selectArdAlarmRadarPumpList" parameterType="ArdAlarmRadarPump" resultMap="ArdAlarmRadarPumpResult">
<include refid="selectArdAlarmRadarPumpVo"/>
- <where>
+ <where>
<if test="name != null and name != ''"> and name like '%'||#{name}||'%'</if>
<if test="targetId != null and targetId != ''"> and target_id = #{targetId}</if>
<if test="alarmType != null and alarmType != ''"> and alarm_type = #{alarmType}</if>
@@ -48,12 +48,12 @@
</where>
order by alarm_time desc
</select>
-
+
<select id="selectArdAlarmRadarPumpById" parameterType="String" resultMap="ArdAlarmRadarPumpResult">
<include refid="selectArdAlarmRadarPumpVo"/>
where id = #{id}
</select>
-
+
<insert id="insertArdAlarmRadarPump" parameterType="ArdAlarmRadarPump">
insert into ard_alarm_radar_pump
<trim prefix="(" suffix=")" suffixOverrides=",">
@@ -118,7 +118,7 @@
</delete>
<delete id="deleteArdAlarmRadarPumpByIds" parameterType="String">
- delete from ard_alarm_radar_pump where id in
+ delete from ard_alarm_radar_pump where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
@@ -172,4 +172,4 @@
from ard_alarm_radar_pump
where alarm_time >= #{start} and alarm_time <= #{end} group by date order by date
</select>
-</mapper>
\ No newline at end of file
+</mapper>
diff --git a/ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml b/ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml
index b084616..0a4d585 100644
--- a/ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml
+++ b/ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml
@@ -288,41 +288,56 @@
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 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&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 * 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&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
--
Gitblit v1.9.3