| | |
| | | HashMap<String, DeviceChannel> channelsInStore = new HashMap<>(); |
| | | Device device = deviceMapper.getDeviceByDeviceId(deviceId); |
| | | if (channels != null && channels.size() > 0) { |
| | | List<DeviceChannel> channelList = channelMapper.queryChannels(deviceId, null, null, null, null); |
| | | List<DeviceChannel> channelList = channelMapper.queryChannels(deviceId, null, null, null, null,null); |
| | | if (channelList.size() == 0) { |
| | | for (DeviceChannel channel : channels) { |
| | | channel.setDeviceId(deviceId); |
| | |
| | | if (parentId.length() < 14 ) { |
| | | return null; |
| | | } |
| | | List<DeviceChannel> deviceChannels = deviceChannelMapper.queryChannels(deviceId, parentId, null, null, null); |
| | | List<DeviceChannel> deviceChannels = deviceChannelMapper.queryChannels(deviceId, parentId, null, null, null,null); |
| | | List<BaseTree<DeviceChannel>> trees = transportChannelsToTree(deviceChannels, parentId); |
| | | return trees; |
| | | } |
| | |
| | | if (parentId.length() < 14 ) { |
| | | return null; |
| | | } |
| | | List<DeviceChannel> deviceChannels = deviceChannelMapper.queryChannels(deviceId, parentId, null, null, null); |
| | | List<DeviceChannel> deviceChannels = deviceChannelMapper.queryChannels(deviceId, parentId, null, null, null,null); |
| | | return deviceChannels; |
| | | } |
| | | |
| | |
| | | } |
| | | }else { |
| | | if (haveChannel) { |
| | | List<DeviceChannel> deviceChannels = deviceChannelMapper.queryChannels(deviceId, null, null, null, null); |
| | | List<DeviceChannel> deviceChannels = deviceChannelMapper.queryChannels(deviceId, null, null, null, null,null); |
| | | if (deviceChannels != null && deviceChannels.size() > 0) { |
| | | result.addAll(deviceChannels); |
| | | } |
| | |
| | | */ |
| | | public PageInfo queryChannelsByDeviceId(String deviceId, String query, Boolean hasSubChannel, Boolean online, Boolean catalogUnderDevice, int page, int count); |
| | | |
| | | public List<DeviceChannel> queryChannelsByDeviceIdWithStartAndLimit(String deviceId, String query, Boolean hasSubChannel, Boolean online, int start, int limit); |
| | | public List<DeviceChannel> queryChannelsByDeviceIdWithStartAndLimit(String deviceId, String query, Boolean hasSubChannel, Boolean online, int start, int limit,List<String> channelIds); |
| | | |
| | | |
| | | /** |
| | |
| | | * @param deviceId 设备ID |
| | | * @return |
| | | */ |
| | | public List<DeviceChannel> queryChannelsByDeviceId(String deviceId); |
| | | public List<DeviceChannel> queryChannelsByDeviceId(String deviceId,Boolean online,List<String> channelIds); |
| | | public List<DeviceChannel> queryOnlineChannelsByDeviceId(String deviceId); |
| | | |
| | | /** |
| | |
| | | * @param count 每页数量 |
| | | * @return List<Device> 设备对象数组 |
| | | */ |
| | | public PageInfo<Device> queryVideoDeviceList(int page, int count); |
| | | public PageInfo<Device> queryVideoDeviceList(int page, int count,Boolean online); |
| | | |
| | | /** |
| | | * 获取多个设备 |
| | | * |
| | | * @return List<Device> 设备对象数组 |
| | | */ |
| | | public List<Device> queryVideoDeviceList(); |
| | | public List<Device> queryVideoDeviceList(Boolean online); |
| | | |
| | | |
| | | |
| | |
| | | " <if test='online == false' > AND dc.status=0</if>" + |
| | | " <if test='hasSubChannel == true' > AND dc.subCount > 0 </if>" + |
| | | " <if test='hasSubChannel == false' > AND dc.subCount = 0 </if>" + |
| | | "<if test='channelIds != null'> AND dc.channelId in <foreach item='item' index='index' collection='channelIds' open='(' separator=',' close=')'>" + |
| | | "#{item} " + |
| | | "</foreach> </if>" + |
| | | "ORDER BY dc.channelId " + |
| | | " </script>"}) |
| | | List<DeviceChannel> queryChannels(String deviceId, String parentChannelId, String query, Boolean hasSubChannel, Boolean online); |
| | | List<DeviceChannel> queryChannels(String deviceId, String parentChannelId, String query, Boolean hasSubChannel, Boolean online,List<String> channelIds); |
| | | |
| | | @Select("SELECT * FROM device_channel WHERE deviceId=#{deviceId} AND channelId=#{channelId}") |
| | | DeviceChannel queryChannel(String deviceId, String channelId); |
| | |
| | | " <if test='online == false' > AND dc1.status=0</if>" + |
| | | " <if test='hasSubChannel == true' > AND dc1.subCount >0</if>" + |
| | | " <if test='hasSubChannel == false' > AND dc1.subCount=0</if>" + |
| | | "<if test='channelIds != null'> AND dc1.channelId in <foreach item='item' index='index' collection='channelIds' open='(' separator=',' close=')'>" + |
| | | "#{item} " + |
| | | "</foreach> </if>" + |
| | | "ORDER BY dc1.channelId ASC " + |
| | | "Limit #{limit} OFFSET #{start}" + |
| | | " </script>"}) |
| | | List<DeviceChannel> queryChannelsByDeviceIdWithStartAndLimit(String deviceId, String parentChannelId, String query, |
| | | Boolean hasSubChannel, Boolean online, int start, int limit); |
| | | Boolean hasSubChannel, Boolean online, int start, int limit,List<String> channelIds); |
| | | |
| | | @Select("SELECT * FROM device_channel WHERE deviceId=#{deviceId} AND status=1") |
| | | List<DeviceChannel> queryOnlineChannelsByDeviceId(String deviceId); |
| | |
| | | " </script>"}) |
| | | int update(Device device); |
| | | |
| | | @Select("SELECT " + |
| | | @Select( |
| | | " <script>" + |
| | | "SELECT " + |
| | | "deviceId, " + |
| | | "coalesce(custom_name, name) as name, " + |
| | | "password, " + |
| | |
| | | "geoCoordSys," + |
| | | "treeType," + |
| | | "online," + |
| | | "(SELECT count(0) FROM device_channel WHERE deviceId=de.deviceId) as channelCount FROM device de") |
| | | List<Device> getDevices(); |
| | | "(SELECT count(0) FROM device_channel WHERE deviceId=de.deviceId) as channelCount FROM device de" + |
| | | "<if test=\"online != null\"> where online=${online}</if>"+ |
| | | " </script>" |
| | | ) |
| | | List<Device> getDevices(Boolean online); |
| | | |
| | | @Delete("DELETE FROM device WHERE deviceId=#{deviceId}") |
| | | int del(String deviceId); |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | @GetMapping("/devices") |
| | | public PageInfo<Device> devices(int page, int count){ |
| | | |
| | | return storager.queryVideoDeviceList(page, count); |
| | | return storager.queryVideoDeviceList(page, count,null); |
| | | } |
| | | |
| | | /** |
| | |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.util.StringUtils; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | JSONObject result = new JSONObject(); |
| | | List<Device> devices; |
| | | if (start == null || limit ==null) { |
| | | devices = storager.queryVideoDeviceList(); |
| | | devices = storager.queryVideoDeviceList(online); |
| | | result.put("DeviceCount", devices.size()); |
| | | }else { |
| | | PageInfo<Device> deviceList = storager.queryVideoDeviceList(start/limit, limit); |
| | | PageInfo<Device> deviceList = storager.queryVideoDeviceList(start/limit, limit,online); |
| | | result.put("DeviceCount", deviceList.getTotal()); |
| | | devices = deviceList.getList(); |
| | | } |
| | |
| | | return result; |
| | | } |
| | | List<DeviceChannel> deviceChannels; |
| | | List<DeviceChannel> allDeviceChannelList = storager.queryChannelsByDeviceId(serial); |
| | | List<String> channelIds = null; |
| | | if (!StringUtils.isEmpty(code)) { |
| | | String[] split = code.trim().split(","); |
| | | channelIds = Arrays.asList(split); |
| | | } |
| | | List<DeviceChannel> allDeviceChannelList = storager.queryChannelsByDeviceId(serial,online,channelIds); |
| | | if (start == null || limit ==null) { |
| | | deviceChannels = allDeviceChannelList; |
| | | result.put("ChannelCount", deviceChannels.size()); |
| | | }else { |
| | | deviceChannels = storager.queryChannelsByDeviceIdWithStartAndLimit(serial, null, null, null,start, limit); |
| | | deviceChannels = storager.queryChannelsByDeviceIdWithStartAndLimit(serial, null, null, online,start, limit,channelIds); |
| | | int total = allDeviceChannelList.size(); |
| | | result.put("ChannelCount", total); |
| | | } |