From 16b7e4a7ef473a6af29ec78aeb2f471fa398efdd Mon Sep 17 00:00:00 2001
From: leesam <leesam@leesam.cn>
Date: 星期三, 10 四月 2024 20:49:44 +0800
Subject: [PATCH] Merge branch 'refs/heads/master' into develop-add-api-key
---
src/main/java/com/genersoft/iot/vmp/media/MediaServerConfig.java | 64 ++++++++++++++++++++++++++++++++
1 files changed, 64 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/media/MediaServerConfig.java b/src/main/java/com/genersoft/iot/vmp/media/MediaServerConfig.java
new file mode 100755
index 0000000..fb9de3f
--- /dev/null
+++ b/src/main/java/com/genersoft/iot/vmp/media/MediaServerConfig.java
@@ -0,0 +1,64 @@
+package com.genersoft.iot.vmp.media;
+
+import com.genersoft.iot.vmp.conf.MediaConfig;
+import com.genersoft.iot.vmp.media.event.mediaServer.MediaServerChangeEvent;
+import com.genersoft.iot.vmp.media.service.IMediaServerService;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.CommandLineRunner;
+import org.springframework.context.ApplicationEventPublisher;
+import org.springframework.core.annotation.Order;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * 鍚姩鏄粠閰嶇疆鏂囦欢鍔犺浇鑺傜偣淇℃伅锛屼互鍙婂彂閫佷釜鑺傜偣鐘舵�佺鐞嗗幓鎺у埗鑺傜偣鐘舵��
+ */
+@Component
+@Order(value=12)
+public class MediaServerConfig implements CommandLineRunner {
+
+ private final static Logger logger = LoggerFactory.getLogger(MediaServerConfig.class);
+
+ @Autowired
+ private ApplicationEventPublisher applicationEventPublisher;
+
+ @Autowired
+ private IMediaServerService mediaServerService;
+
+ @Autowired
+ private MediaConfig mediaConfig;
+
+
+ @Override
+ public void run(String... strings) throws Exception {
+ // 娓呯悊鎵�鏈夊湪绾胯妭鐐圭殑缂撳瓨淇℃伅
+ mediaServerService.clearMediaServerForOnline();
+ MediaServer defaultMediaServer = mediaServerService.getDefaultMediaServer();
+ MediaServer mediaSerItemInConfig = mediaConfig.getMediaSerItem();
+ if (defaultMediaServer != null && mediaSerItemInConfig.getId().equals(defaultMediaServer.getId())) {
+ mediaServerService.update(mediaSerItemInConfig);
+ }else {
+ if (defaultMediaServer != null) {
+ mediaServerService.delete(defaultMediaServer.getId());
+ }
+ MediaServer mediaServerItem = mediaServerService.getOneFromDatabase(mediaSerItemInConfig.getId());
+ if (mediaServerItem == null) {
+ mediaServerService.add(mediaSerItemInConfig);
+ }else {
+ mediaServerService.update(mediaSerItemInConfig);
+ }
+ }
+ // 鍙戦�佸獟浣撹妭鐐瑰彉鍖栦簨浠�
+ mediaServerService.syncCatchFromDatabase();
+ // 鑾峰彇鎵�鏈夌殑zlm锛� 骞跺紑鍚富鍔ㄨ繛鎺�
+ List<MediaServer> all = mediaServerService.getAllFromDatabase();
+ logger.info("[濯掍綋鑺傜偣] 鍔犺浇鑺傜偣鍒楄〃锛� 鍏眥}涓妭鐐�", all.size());
+ MediaServerChangeEvent event = new MediaServerChangeEvent(this);
+ event.setMediaServerItemList(all);
+ applicationEventPublisher.publishEvent(event);
+ }
+}
--
Gitblit v1.8.0