|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel; | 
|---|
|  |  |  | import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform; | 
|---|
|  |  |  | import com.genersoft.iot.vmp.gb28181.bean.ParentPlatformCatch; | 
|---|
|  |  |  | import com.genersoft.iot.vmp.storager.IRedisCatchStorage; | 
|---|
|  |  |  | import com.genersoft.iot.vmp.storager.dao.DeviceChannelMapper; | 
|---|
|  |  |  | import com.genersoft.iot.vmp.storager.dao.DeviceMapper; | 
|---|
|  |  |  | import com.genersoft.iot.vmp.storager.dao.ParentPlatformMapper; | 
|---|
|  |  |  | import com.genersoft.iot.vmp.vmanager.platform.bean.ChannelReduce; | 
|---|
|  |  |  | import com.github.pagehelper.PageHelper; | 
|---|
|  |  |  | import com.github.pagehelper.PageInfo; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.genersoft.iot.vmp.gb28181.bean.Device; | 
|---|
|  |  |  | import com.genersoft.iot.vmp.storager.IVideoManagerStorager; | 
|---|
|  |  |  | import org.springframework.transaction.annotation.Transactional; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * @Description:视频设备数据存储-jdbc实现 | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private ParentPlatformMapper platformMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private IRedisCatchStorage redisCatchStorage; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void startPlay(String deviceId, String channelId, String streamId) { | 
|---|
|  |  |  | deviceChannelMapper.startPlay(deviceId, channelId, streamId); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void stopPlay(String deviceId, String channelId) { | 
|---|
|  |  |  | deviceChannelMapper.stopPlay(deviceId, channelId); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取设备 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | 
|---|
|  |  |  | List<DeviceChannel> all = deviceChannelMapper.queryChannelsByDeviceId(deviceId, null, query, hasSubChannel, online); | 
|---|
|  |  |  | return new PageInfo<>(all); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public List<DeviceChannel> queryChannelsByDeviceId(String deviceId) { | 
|---|
|  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public boolean updateParentPlatform(ParentPlatform parentPlatform) { | 
|---|
|  |  |  | int result = 0; | 
|---|
|  |  |  | ParentPlatformCatch parentPlatformCatch = redisCatchStorage.queryPlatformCatchInfo(parentPlatform.getDeviceGBId()); | 
|---|
|  |  |  | if ( platformMapper.getParentPlatById(parentPlatform.getDeviceGBId()) == null) { | 
|---|
|  |  |  | result = platformMapper.addParentPlatform(parentPlatform); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (parentPlatformCatch == null) { | 
|---|
|  |  |  | parentPlatformCatch = new ParentPlatformCatch(); | 
|---|
|  |  |  | parentPlatformCatch.setParentPlatform(parentPlatform); | 
|---|
|  |  |  | parentPlatformCatch.setId(parentPlatform.getDeviceGBId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | result = platformMapper.updateParentPlatform(parentPlatform); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 更新缓存 | 
|---|
|  |  |  | parentPlatformCatch.setParentPlatform(parentPlatform); | 
|---|
|  |  |  | redisCatchStorage.updatePlatformCatchInfo(parentPlatformCatch); | 
|---|
|  |  |  | return result > 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | return platformMapper.getParentPlatById(platformGbId); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public List<ParentPlatform> queryEnableParentPlatformList(boolean enable) { | 
|---|
|  |  |  | return platformMapper.getEnableParentPlatformList(enable); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void outlineForAllParentPlatform() { | 
|---|
|  |  |  | platformMapper.outlineForAllParentPlatform(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public PageInfo<ChannelReduce> queryChannelListInAll(int page, int count, String query, Boolean online, | 
|---|
|  |  |  | Boolean channelType, String parentChannelId) { | 
|---|
|  |  |  | PageHelper.startPage(page, count); | 
|---|
|  |  |  | List<ChannelReduce> all = deviceChannelMapper.queryChannelListInAll(query, online, channelType, parentChannelId); | 
|---|
|  |  |  | return new PageInfo<>(all); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public int updateChannelForGB(String platformId, List<ChannelReduce> channelReduces) { | 
|---|
|  |  |  | return 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|