src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/genersoft/iot/vmp/storager/dao/ParentPlatformMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/genersoft/iot/vmp/vmanager/platform/PlatformController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java
New file @@ -0,0 +1,55 @@ package com.genersoft.iot.vmp.conf; import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform; import com.genersoft.iot.vmp.gb28181.bean.ParentPlatformCatch; import com.genersoft.iot.vmp.gb28181.event.EventPublisher; import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform; import com.genersoft.iot.vmp.storager.IRedisCatchStorage; import com.genersoft.iot.vmp.storager.IVideoManagerStorager; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; import java.util.List; /** * 系统启动时控制上级平台重新注册 */ @Component @Order(value=3) public class SipPlatformRunner implements CommandLineRunner { @Autowired private IVideoManagerStorager storager; @Autowired private IRedisCatchStorage redisCatchStorage; @Autowired private EventPublisher publisher; @Override public void run(String... args) throws Exception { // 设置所有平台离线 storager.outlineForAllParentPlatform(); List<ParentPlatform> parentPlatforms = storager.queryEnableParentPlatformList(true); for (ParentPlatform parentPlatform : parentPlatforms) { redisCatchStorage.updatePlatformRegister(parentPlatform); redisCatchStorage.updatePlatformKeepalive(parentPlatform); ParentPlatformCatch parentPlatformCatch = new ParentPlatformCatch(); parentPlatformCatch.setParentPlatform(parentPlatform); parentPlatformCatch.setId(parentPlatform.getDeviceGBId()); redisCatchStorage.updatePlatformCatchInfo(parentPlatformCatch); // 发送平台未注册消息 publisher.platformNotRegisterEventPublish(parentPlatform.getDeviceGBId()); } } } src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java
@@ -169,9 +169,20 @@ PageInfo<ParentPlatform> queryParentPlatformList(int page, int count); /** * 获取所有已启用的平台 * @return */ List<ParentPlatform> queryEnableParentPlatformList(boolean enable); /** * 获取上级平台 * @param platformGbId * @return */ ParentPlatform queryParentPlatById(String platformGbId); /** * 所有平台离线 */ void outlineForAllParentPlatform(); } src/main/java/com/genersoft/iot/vmp/storager/dao/ParentPlatformMapper.java
@@ -49,6 +49,12 @@ @Select("SELECT * FROM parent_platform") List<ParentPlatform> getParentPlatformList(); @Select("SELECT * FROM parent_platform WHERE enable=#{enable}") List<ParentPlatform> getEnableParentPlatformList(boolean enable); @Select("SELECT * FROM parent_platform WHERE deviceGBId=#{platformGbId}") ParentPlatform getParentPlatById(String platformGbId); @Update("UPDATE parent_platform SET status=false" ) void outlineForAllParentPlatform(); } src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java
@@ -33,6 +33,7 @@ @Autowired private ParentPlatformMapper platformMapper; @Autowired private IRedisCatchStorage redisCatchStorage; @@ -252,5 +253,13 @@ return platformMapper.getParentPlatById(platformGbId); } @Override public List<ParentPlatform> queryEnableParentPlatformList(boolean enable) { return platformMapper.getEnableParentPlatformList(enable); } @Override public void outlineForAllParentPlatform() { platformMapper.outlineForAllParentPlatform(); } } src/main/java/com/genersoft/iot/vmp/vmanager/platform/PlatformController.java
@@ -25,6 +25,7 @@ @Autowired private IVideoManagerStorager storager; @Autowired private IRedisCatchStorage redisCatchStorage;