From 05f799b8a5ce57b1f98dc5f8ab08308c32a6ec63 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Fri, 16 Jan 2026 09:35:22 +0800
Subject: [PATCH] 优化

---
 ard-vtdu/src/main/java/com/ard/vtdu/service/impl/ArdVtduServiceImpl.java |   36 ++++++++++++++++++++++++++----------
 1 files changed, 26 insertions(+), 10 deletions(-)

diff --git a/ard-vtdu/src/main/java/com/ard/vtdu/service/impl/ArdVtduServiceImpl.java b/ard-vtdu/src/main/java/com/ard/vtdu/service/impl/ArdVtduServiceImpl.java
index 806b065..139c5cc 100644
--- a/ard-vtdu/src/main/java/com/ard/vtdu/service/impl/ArdVtduServiceImpl.java
+++ b/ard-vtdu/src/main/java/com/ard/vtdu/service/impl/ArdVtduServiceImpl.java
@@ -28,14 +28,14 @@
     @Resource
     private ArdVtduMapper ardVtduMapper;
     @Resource
-    private IArdMediaService mediaService;
+    private IArdMediaService ardMediaService;
 
 
 
     @PostConstruct
     public void initMediaMTX() {
         //清空mediamtx流媒体数据
-        mediaService.clearAll();
+        ardMediaService.clearAll();
     }
 
     /**
@@ -69,7 +69,7 @@
     @Override
     public int insertArdVtdu(ArdVtdu ardVtdu) {
         ardVtdu.setCreateTime(DateUtils.getNowDate());
-        ardVtdu = mediaService.addPath(ardVtdu);
+        ardVtdu = ardMediaService.addPath(ardVtdu);
         return ardVtduMapper.insertArdVtdu(ardVtdu);
     }
 
@@ -82,7 +82,7 @@
     @Override
     public int updateArdVtdu(ArdVtdu ardVtdu) {
         ardVtdu.setUpdateTime(DateUtils.getNowDate());
-        ardVtdu = mediaService.editPath(ardVtdu);
+        ardVtdu = ardMediaService.editPath(ardVtdu);
         ardVtdu.setUpdateTime(DateUtils.getNowDate());
         return ardVtduMapper.updateArdVtdu(ardVtdu);
     }
@@ -98,7 +98,7 @@
         for (String name : names) {
             log.debug("流媒体【" + name + "】通道删除");
         }
-        mediaService.removePath(names);
+        ardMediaService.removePath(names);
         return ardVtduMapper.deleteArdVtduByNames(names);
     }
 
@@ -110,7 +110,7 @@
      */
     @Override
     public int deleteArdVtduByName(String name) {
-        mediaService.removePath(name);
+        ardMediaService.removePath(name);
         log.debug("流媒体【" + name + "】通道删除");
         return ardVtduMapper.deleteArdVtduByName(name);
     }
@@ -177,7 +177,7 @@
     public void asyncMediaMTX(List<ArdVtdu> vtdus, List<String> names) {
         //需要更新的数据,参数顺序注意
         sameList(vtdus, names).forEach(vtdu -> {
-            Conf conf = mediaService.getPathConfig(vtdu.getName());
+            Conf conf = ardMediaService.getPathConfig(vtdu.getName());
             if (conf == null || conf.getSource() == null) {
                 return;
             }
@@ -188,16 +188,32 @@
             boolean isRtspSourceChanged = !Objects.equals(confRtspSource, currentRtspSource);
             // 如果 RTSP 源发生变化,则更新路径
             if (isRtspSourceChanged) {
-                mediaService.editPath(vtdu);
+                ardMediaService.editPath(vtdu);
             }
         });
         //需要删除的数据
         diffListToDel(vtdus, names).forEach(name -> {
-            mediaService.removePath(name);
+            ardMediaService.removePath(name);
         });
         //需要新增的数据
         diffListToAdd(vtdus, names).forEach(vtdu -> {
-            mediaService.addPath(vtdu);
+            ardMediaService.addPath(vtdu);
         });
     }
+
+    /**
+     * 同步mediamtx
+     */
+    @Scheduled(cron = "0/10 * * * * ?")
+    public void syncMediamtx() {
+        log.debug("定时同步MediaMTX任务");
+        try {
+            List<String> nameList = ardMediaService.getNameList();
+            List<ArdVtdu> ardVtduList = this.selectArdVtduList(new ArdVtdu());
+            asyncMediaMTX(ardVtduList, nameList);
+        }
+        catch (Exception e) {
+            log.error("同步MediaMTX任务失败", e);
+        }
+    }
 }

--
Gitblit v1.9.3