|  |  | 
 |  |  | package com.genersoft.iot.vmp.storager.impl; | 
 |  |  |  | 
 |  |  | import com.genersoft.iot.vmp.common.StreamInfo; | 
 |  |  | import com.genersoft.iot.vmp.conf.SipConfig; | 
 |  |  | import com.genersoft.iot.vmp.conf.UserSetting; | 
 |  |  | import com.genersoft.iot.vmp.gb28181.bean.*; | 
 |  |  | import com.genersoft.iot.vmp.gb28181.event.EventPublisher; | 
 |  |  | import com.genersoft.iot.vmp.gb28181.event.subscribe.catalog.CatalogEvent; | 
 |  |  | import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem; | 
 |  |  | import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem; | 
 |  |  | import com.genersoft.iot.vmp.service.IGbStreamService; | 
 |  |  | import com.genersoft.iot.vmp.service.bean.GPSMsgInfo; | 
 |  |  | import com.genersoft.iot.vmp.storager.IRedisCatchStorage; | 
 |  |  | 
 |  |  | import org.springframework.transaction.annotation.Transactional; | 
 |  |  | import org.springframework.util.CollectionUtils; | 
 |  |  | import org.springframework.util.ObjectUtils; | 
 |  |  | import org.springframework.util.StringUtils; | 
 |  |  |  | 
 |  |  | import java.util.*; | 
 |  |  | import java.util.concurrent.ConcurrentHashMap; | 
 |  |  | 
 |  |  |       PageHelper.startPage(page, count); | 
 |  |  |       List<DeviceChannel> all; | 
 |  |  |       if (catalogUnderDevice != null && catalogUnderDevice) { | 
 |  |  |          all = deviceChannelMapper.queryChannels(deviceId, deviceId, query, hasSubChannel, online); | 
 |  |  |          all = deviceChannelMapper.queryChannels(deviceId, deviceId, query, hasSubChannel, online,null); | 
 |  |  |          // 海康设备的parentId是SIP id | 
 |  |  |          List<DeviceChannel> deviceChannels = deviceChannelMapper.queryChannels(deviceId, sipConfig.getId(), query, hasSubChannel, online); | 
 |  |  |          List<DeviceChannel> deviceChannels = deviceChannelMapper.queryChannels(deviceId, sipConfig.getId(), query, hasSubChannel, online,null); | 
 |  |  |          all.addAll(deviceChannels); | 
 |  |  |       }else { | 
 |  |  |          all = deviceChannelMapper.queryChannels(deviceId, null, query, hasSubChannel, online); | 
 |  |  |          all = deviceChannelMapper.queryChannels(deviceId, null, query, hasSubChannel, online,null); | 
 |  |  |       } | 
 |  |  |       return new PageInfo<>(all); | 
 |  |  |    } | 
 |  |  |  | 
 |  |  |    @Override | 
 |  |  |    public List<DeviceChannel> queryChannelsByDeviceIdWithStartAndLimit(String deviceId, String query, Boolean hasSubChannel, Boolean online, int start, int limit) { | 
 |  |  |       return deviceChannelMapper.queryChannelsByDeviceIdWithStartAndLimit(deviceId, null, query, hasSubChannel, online, start, limit); | 
 |  |  |    public List<DeviceChannel> queryChannelsByDeviceIdWithStartAndLimit(String deviceId, String query, Boolean hasSubChannel, Boolean online, int start, int limit,List<String> channelIds) { | 
 |  |  |       return deviceChannelMapper.queryChannelsByDeviceIdWithStartAndLimit(deviceId, null, query, hasSubChannel, online, start, limit,channelIds); | 
 |  |  |    } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |    @Override | 
 |  |  |    public List<DeviceChannel> queryChannelsByDeviceId(String deviceId) { | 
 |  |  |       return deviceChannelMapper.queryChannels(deviceId, null,null, null, null); | 
 |  |  |    public List<DeviceChannel> queryChannelsByDeviceId(String deviceId,Boolean online,List<String> channelIds) { | 
 |  |  |       return deviceChannelMapper.queryChannels(deviceId, null,null, null, online,channelIds); | 
 |  |  |    } | 
 |  |  |  | 
 |  |  |    @Override | 
 |  |  |    public PageInfo<DeviceChannel> querySubChannels(String deviceId, String parentChannelId, String query, Boolean hasSubChannel, Boolean online, int page, int count) { | 
 |  |  |       PageHelper.startPage(page, count); | 
 |  |  |       List<DeviceChannel> all = deviceChannelMapper.queryChannels(deviceId, parentChannelId, query, hasSubChannel, online); | 
 |  |  |       List<DeviceChannel> all = deviceChannelMapper.queryChannels(deviceId, parentChannelId, query, hasSubChannel, online,null); | 
 |  |  |       return new PageInfo<>(all); | 
 |  |  |    } | 
 |  |  |  | 
 |  |  | 
 |  |  |     * @return PageInfo<Device> 分页设备对象数组 | 
 |  |  |     */ | 
 |  |  |    @Override | 
 |  |  |    public PageInfo<Device> queryVideoDeviceList(int page, int count) { | 
 |  |  |    public PageInfo<Device> queryVideoDeviceList(int page, int count,Boolean online) { | 
 |  |  |       PageHelper.startPage(page, count); | 
 |  |  |       List<Device> all = deviceMapper.getDevices(); | 
 |  |  |       List<Device> all = deviceMapper.getDevices(online); | 
 |  |  |       return new PageInfo<>(all); | 
 |  |  |    } | 
 |  |  |  | 
 |  |  | 
 |  |  |     * @return List<Device> 设备对象数组 | 
 |  |  |     */ | 
 |  |  |    @Override | 
 |  |  |    public List<Device> queryVideoDeviceList() { | 
 |  |  |    public List<Device> queryVideoDeviceList(Boolean online) { | 
 |  |  |  | 
 |  |  |       List<Device> deviceList =  deviceMapper.getDevices(); | 
 |  |  |       List<Device> deviceList =  deviceMapper.getDevices(online); | 
 |  |  |       return deviceList; | 
 |  |  |    } | 
 |  |  |  | 
 |  |  | 
 |  |  |       return gbStreamMapper.updateStreamGPS(gpsMsgInfos); | 
 |  |  |    } | 
 |  |  |  | 
 |  |  |    private List<DeviceChannel> getDeviceChannelListByChannelReduceList(List<ChannelReduce> channelReduces, String catalogId) { | 
 |  |  |       List<DeviceChannel> deviceChannelList = new ArrayList<>(); | 
 |  |  |       if (channelReduces.size() > 0){ | 
 |  |  |          for (ChannelReduce channelReduce : channelReduces) { | 
 |  |  |             DeviceChannel deviceChannel = queryChannel(channelReduce.getDeviceId(), channelReduce.getChannelId()); | 
 |  |  |             deviceChannel.setParental(1); | 
 |  |  |             deviceChannel.setParentId(catalogId); | 
 |  |  |             deviceChannelList.add(deviceChannel); | 
 |  |  |          } | 
 |  |  |       } | 
 |  |  |       return deviceChannelList; | 
 |  |  |    } | 
 |  |  |  | 
 |  |  |    private DeviceChannel getDeviceChannelByCatalog(PlatformCatalog catalog) { | 
 |  |  |       ParentPlatform platform = platformMapper.getParentPlatByServerGBId(catalog.getPlatformId()); |