From 7ed84bed7f3383507b8a954cb947920b2da0f84a Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期二, 09 四月 2024 20:11:10 +0800 Subject: [PATCH] Merge pull request #1411 from 648540858/dev/zlm --- 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