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