修复:Redis配置推送时摄像头名称优先取cameraName而非gbName

This commit is contained in:
2026-03-20 22:47:03 +08:00
parent f32a9a3e8d
commit 937eb07b37

View File

@@ -279,20 +279,17 @@ public class AiRedisConfigServiceImpl implements IAiRedisConfigService {
String cameraName = "";
String rtspUrl = "";
// 从ROI关联的通道获取名称
if (!rois.isEmpty()) {
AiRoi firstRoi = rois.get(0);
if (firstRoi.getChannelDbId() != null) {
try {
CommonGBChannel channel = channelMapper.queryById(firstRoi.getChannelDbId());
if (channel != null) {
cameraName = channel.getGbName() != null ? channel.getGbName() : "";
}
} catch (Exception e) {
log.warn("[AiRedis] 查询通道信息失败: channelDbId={}", firstRoi.getChannelDbId());
}
// 优先从 StreamProxy 获取 cameraName用户自定义名称
StreamProxy proxy = streamProxyMapper.selectByCameraCode(cameraId);
if (proxy != null) {
cameraName = proxy.getCameraName();
if (cameraName == null || cameraName.isBlank()) {
cameraName = proxy.getGbName();
}
}
if (cameraName == null || cameraName.isBlank()) {
cameraName = cameraId;
}
// 构建RTSP代理地址通过ZLM媒体服务器
// cameraId格式为 {app}/{stream}ZLM的RTSP路径直接使用该格式
@@ -504,23 +501,15 @@ public class AiRedisConfigServiceImpl implements IAiRedisConfigService {
cameraMap.put("camera_code", cameraId);
cameraMap.put("camera_id", cameraId);
// 获取摄像头名称
String cameraName = "";
List<AiRoi> cameraRois = roiMapper.queryAllByCameraId(cameraId);
if (!cameraRois.isEmpty()) {
AiRoi firstRoi = cameraRois.get(0);
if (firstRoi.getChannelDbId() != null) {
try {
CommonGBChannel channel = channelMapper.queryById(firstRoi.getChannelDbId());
if (channel != null) {
cameraName = channel.getGbName() != null ? channel.getGbName() : "";
}
} catch (Exception e) {
log.warn("[AiRedis] 查询通道信息失败: channelDbId={}", firstRoi.getChannelDbId());
}
}
// 获取摄像头名称:优先 cameraName用户自定义其次 gbName最后 cameraId
String cameraName = proxy.getCameraName();
if (cameraName == null || cameraName.isBlank()) {
cameraName = proxy.getGbName();
}
if (cameraName == null || cameraName.isBlank()) {
cameraName = cameraId;
}
List<AiRoi> cameraRois = roiMapper.queryAllByCameraId(cameraId);
// 获取 RTSP URL优先使用 StreamProxy 的源 URL
String rtspUrl = "";