From db314627744fd08b1a4213db9659e50713efd6a8 Mon Sep 17 00:00:00 2001 From: lzh Date: Thu, 23 Apr 2026 15:16:50 +0800 Subject: [PATCH] =?UTF-8?q?refactor(video):=20JT1078=20=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E6=9C=AA=E8=BF=81=E7=A7=BB=E6=97=B6=E7=9A=84=E8=BD=AF=E4=BE=9D?= =?UTF-8?q?=E8=B5=96=E9=99=8D=E7=BA=A7=E6=94=B6=E6=95=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - JT1078 相关两个 stub 接口 Ijt1078Service / Ijt1078PlayService 目前没有 @Service 实现(等待从 WVP 后续迁移),直接 @Autowired 会导致 video server 启动失败。 - GbChannelPlayServiceImpl:原本只声明了 jt1078PlayService 字段, 从未在任何方法体里引用,属于死代码,直接删掉 import + field。 - MediaServiceImpl:保留引用(checkStreamFromJt 有真实调用), 改成 @Autowired(required=false) 做软依赖;在 "1078" app 分支 入口加 null guard,接口缺失时直接返回 false 拒绝请求; 补注释说明两处处理不对称的原因,并留 TODO 指向 JT1078 迁移完成后的收尾动作(去掉 required=false / 引入 JtModuleProperties.enabled 开关统一管理)。 --- .../service/impl/GbChannelPlayServiceImpl.java | 4 ---- .../video/service/impl/MediaServiceImpl.java | 14 ++++++++++++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/viewsh-module-video/viewsh-module-video-server/src/main/java/com/viewsh/module/video/gb28181/service/impl/GbChannelPlayServiceImpl.java b/viewsh-module-video/viewsh-module-video-server/src/main/java/com/viewsh/module/video/gb28181/service/impl/GbChannelPlayServiceImpl.java index cbee3008..99bd6f58 100644 --- a/viewsh-module-video/viewsh-module-video-server/src/main/java/com/viewsh/module/video/gb28181/service/impl/GbChannelPlayServiceImpl.java +++ b/viewsh-module-video/viewsh-module-video-server/src/main/java/com/viewsh/module/video/gb28181/service/impl/GbChannelPlayServiceImpl.java @@ -10,7 +10,6 @@ import com.viewsh.module.video.gb28181.service.IGbChannelPlayService; import com.viewsh.module.video.gb28181.service.ISourceDownloadService; import com.viewsh.module.video.gb28181.service.ISourcePlayService; import com.viewsh.module.video.gb28181.service.ISourcePlaybackService; -import com.viewsh.module.video.jt1078.service.Ijt1078PlayService; import com.viewsh.module.video.service.bean.ErrorCallback; import com.viewsh.module.video.service.bean.InviteErrorCode; import lombok.extern.slf4j.Slf4j; @@ -34,9 +33,6 @@ public class GbChannelPlayServiceImpl implements IGbChannelPlayService { @Autowired private Map sourcePlayServiceMap; - @Autowired - private Ijt1078PlayService jt1078PlayService; - @Autowired private Map sourcePlaybackServiceMap; diff --git a/viewsh-module-video/viewsh-module-video-server/src/main/java/com/viewsh/module/video/service/impl/MediaServiceImpl.java b/viewsh-module-video/viewsh-module-video-server/src/main/java/com/viewsh/module/video/service/impl/MediaServiceImpl.java index 29cc1e95..2cea6991 100644 --- a/viewsh-module-video/viewsh-module-video-server/src/main/java/com/viewsh/module/video/service/impl/MediaServiceImpl.java +++ b/viewsh-module-video/viewsh-module-video-server/src/main/java/com/viewsh/module/video/service/impl/MediaServiceImpl.java @@ -62,10 +62,16 @@ public class MediaServiceImpl implements IMediaService { @Autowired private SipInviteSessionManager sessionManager; - @Autowired + // JT1078 模块尚未从 WVP 原始代码迁移过来: + // - Ijt1078Service / Ijt1078PlayService 是 stub 接口,当前没有 @Service 实现 + // - GbChannelPlayServiceImpl 已彻底删除对这两个接口的依赖(它原本的字段就没在方法体里用过) + // - 本类是唯一仍然需要这两个接口的地方,用 required=false 做软依赖,接口缺失时走下方 null guard + // 直接拒绝"1078" app 的请求(见 checkStreamFromJt 调用点) + // TODO(JT1078 迁移完成后):去掉 required=false,把 null guard 改回强校验;或引入 JtModuleProperties.enabled 开关统一管理。 + @Autowired(required = false) private Ijt1078Service ijt1078Service; - @Autowired + @Autowired(required = false) private Ijt1078PlayService jt1078PlayService; @Autowired @@ -259,6 +265,10 @@ public class MediaServiceImpl implements IMediaService { return result; } }else if ("1078".equals(app)) { + // JT1078 模块未迁移时直接拒绝 + if (ijt1078Service == null || jt1078PlayService == null) { + return false; + } // 判断是否是1078播放类型 JTMediaStreamType jtMediaStreamType = ijt1078Service.checkStreamFromJt(stream); if (jtMediaStreamType != null) {