From c23932eb00edfa5f734b0d17eced838c5c7577c0 Mon Sep 17 00:00:00 2001 From: 648540858 <456PANlinlin> Date: 星期三, 17 十一月 2021 22:58:41 +0800 Subject: [PATCH] #221 --- src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java | 68 ++++++++++++++++++++++++++++++---- 1 files changed, 60 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java index bbe8c2b..0e24942 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java @@ -1,13 +1,12 @@ package com.genersoft.iot.vmp.storager.impl; -import java.text.SimpleDateFormat; -import java.util.*; - import com.genersoft.iot.vmp.gb28181.bean.*; import com.genersoft.iot.vmp.gb28181.session.VideoStreamSessionManager; +import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem; import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem; import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem; import com.genersoft.iot.vmp.storager.IRedisCatchStorage; +import com.genersoft.iot.vmp.storager.IVideoManagerStorager; import com.genersoft.iot.vmp.storager.dao.*; import com.genersoft.iot.vmp.vmanager.gb28181.platform.bean.ChannelReduce; import com.github.pagehelper.PageHelper; @@ -17,14 +16,18 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.stereotype.Component; - -import com.genersoft.iot.vmp.storager.IVideoManagerStorager; import org.springframework.transaction.TransactionDefinition; import org.springframework.transaction.TransactionStatus; import org.springframework.transaction.annotation.Transactional; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + /** - * @Description:瑙嗛璁惧鏁版嵁瀛樺偍-jdbc瀹炵幇 + * @description:瑙嗛璁惧鏁版嵁瀛樺偍-jdbc瀹炵幇 * @author: swwheihei * @date: 2020骞�5鏈�6鏃� 涓嬪崍2:31:42 */ @@ -70,6 +73,9 @@ @Autowired private VideoStreamSessionManager streamSession; + @Autowired + private MediaServerMapper mediaServerMapper; + private SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -105,7 +111,7 @@ */ @Override public synchronized boolean updateDevice(Device device) { - String now = this.format.format(new Date(System.currentTimeMillis())); + String now = this.format.format(System.currentTimeMillis()); device.setUpdateTime(now); Device deviceByDeviceId = deviceMapper.getDeviceByDeviceId(device.getDeviceId()); if (deviceByDeviceId == null) { @@ -122,7 +128,7 @@ String channelId = channel.getChannelId(); channel.setDeviceId(deviceId); channel.setStreamId(streamSession.getStreamId(deviceId, channel.getChannelId())); - String now = this.format.format(new Date(System.currentTimeMillis())); + String now = this.format.format(System.currentTimeMillis()); channel.setUpdateTime(now); DeviceChannel deviceChannel = deviceChannelMapper.queryChannel(deviceId, channelId); if (deviceChannel == null) { @@ -131,6 +137,16 @@ }else { deviceChannelMapper.update(channel); } + } + + @Override + public void deviceChannelOnline(String deviceId, String channelId) { + deviceChannelMapper.online(deviceId, channelId); + } + + @Override + public void deviceChannelOffline(String deviceId, String channelId) { + deviceChannelMapper.offline(deviceId, channelId); } @Override @@ -179,6 +195,11 @@ return deviceChannelMapper.queryChannel(deviceId, channelId); } + + @Override + public int delChannel(String deviceId, String channelId) { + return deviceChannelMapper.del(deviceId, channelId); + } /** * 鑾峰彇澶氫釜璁惧 @@ -459,6 +480,8 @@ boolean result = false; streamProxyItem.setStreamType("proxy"); streamProxyItem.setStatus(true); + String now = this.format.format(System.currentTimeMillis()); + streamProxyItem.setCreateTime(now); try { if (gbStreamMapper.add(streamProxyItem)<0 || streamProxyMapper.add(streamProxyItem) < 0) { //浜嬪姟鍥炴粴 @@ -467,6 +490,7 @@ result = true; dataSourceTransactionManager.commit(transactionStatus); //鎵嬪姩鎻愪氦 }catch (Exception e) { + logger.error("鍚戞暟鎹簱娣诲姞娴佷唬鐞嗗け璐ワ細", e); dataSourceTransactionManager.rollback(transactionStatus); } return result; @@ -599,4 +623,32 @@ public void updateParentPlatformStatus(String platformGbID, boolean online) { platformMapper.updateParentPlatformStatus(platformGbID, online); } + + @Override + public void updateMediaServer(MediaServerItem mediaServerItem) { + String now = this.format.format(System.currentTimeMillis()); + mediaServerItem.setUpdateTime(now); + if (mediaServerMapper.queryOne(mediaServerItem.getId()) != null) { + mediaServerMapper.update(mediaServerItem); + }else { + mediaServerItem.setCreateTime(now); + mediaServerMapper.add(mediaServerItem); + } + } + + @Override + public List<StreamProxyItem> getStreamProxyListForEnableInMediaServer(String id, boolean enable) { + return streamProxyMapper.selectForEnableInMediaServer(id, enable); + } + + + @Override + public Device queryVideoDeviceByChannelId( String channelId) { + Device result = null; + List<DeviceChannel> channelList = deviceChannelMapper.queryChannelByChannelId(channelId); + if (channelList.size() == 1) { + result = deviceMapper.getDeviceByDeviceId(channelList.get(0).getDeviceId()); + } + return result; + } } -- Gitblit v1.8.0