Commit 76d8aa5377d3f60500f97200be99f31c0c385203

Authored by Lawrence
1 parent b88f213e

修正设备在线离线判断的错误

src/main/java/com/genersoft/iot/vmp/storager/redis/VideoManagerRedisStoragerImpl.java
... ... @@ -276,6 +276,7 @@ public class VideoManagerRedisStoragerImpl implements IVideoManagerStorager {
276 276 PageResult pageResult = new PageResult<Device>();
277 277 pageResult.setPage(page);
278 278 pageResult.setCount(count);
  279 + Device device = null;
279 280  
280 281 if (deviceIds == null || deviceIds.length == 0) {
281 282  
... ... @@ -284,11 +285,21 @@ public class VideoManagerRedisStoragerImpl implements IVideoManagerStorager {
284 285 pageResult.setTotal(deviceIdList.size());
285 286 int maxCount = (page + 1)* count;
286 287 for (int i = page * count; i < (pageResult.getTotal() > maxCount ? maxCount : pageResult.getTotal() ); i++) {
287   - devices.add((Device)redis.get((String)deviceIdList.get(i)));
  288 + // devices.add((Device)redis.get((String)deviceIdList.get(i)));
  289 + device =(Device)redis.get((String)deviceIdList.get(i));
  290 + if (redis.scan(VideoManagerConstants.KEEPLIVEKEY_PREFIX+device.getDeviceId()).size() == 0){
  291 + outline(device.getDeviceId());
  292 + }
  293 + devices.add(device);
288 294 }
289 295 } else {
290 296 for (int i = 0; i < deviceIds.length; i++) {
291   - devices.add((Device)redis.get(VideoManagerConstants.DEVICE_PREFIX+deviceIds[i]));
  297 + // devices.add((Device)redis.get(VideoManagerConstants.DEVICE_PREFIX+deviceIds[i]));
  298 + device = (Device)redis.get(VideoManagerConstants.DEVICE_PREFIX+deviceIds[i]);
  299 + if (redis.scan(VideoManagerConstants.KEEPLIVEKEY_PREFIX+device.getDeviceId()).size() == 0){
  300 + outline(device.getDeviceId());
  301 + }
  302 + devices.add(device);
292 303 }
293 304 }
294 305 pageResult.setData(devices);
... ... @@ -304,16 +315,25 @@ public class VideoManagerRedisStoragerImpl implements IVideoManagerStorager {
304 315 @Override
305 316 public List<Device> queryVideoDeviceList(String[] deviceIds) {
306 317 List<Device> devices = new ArrayList<>();
  318 + Device device = null;
307 319  
308 320 if (deviceIds == null || deviceIds.length == 0) {
309 321 // List<Object> deviceIdList = redis.keys(VideoManagerConstants.DEVICE_PREFIX+"*");
310 322 List<Object> deviceIdList = redis.scan(VideoManagerConstants.DEVICE_PREFIX+"*");
311 323 for (int i = 0; i < deviceIdList.size(); i++) {
312   - devices.add((Device)redis.get((String)deviceIdList.get(i)));
  324 + device =(Device)redis.get((String)deviceIdList.get(i));
  325 + if (redis.scan(VideoManagerConstants.KEEPLIVEKEY_PREFIX+device.getDeviceId()).size() == 0){
  326 + outline(device.getDeviceId());
  327 + }
  328 + devices.add(device);
313 329 }
314 330 } else {
315 331 for (int i = 0; i < deviceIds.length; i++) {
316   - devices.add((Device)redis.get(VideoManagerConstants.DEVICE_PREFIX+deviceIds[i]));
  332 + device = (Device)redis.get(VideoManagerConstants.DEVICE_PREFIX+deviceIds[i]);
  333 + if (redis.scan(VideoManagerConstants.KEEPLIVEKEY_PREFIX+device.getDeviceId()).size() == 0){
  334 + outline(device.getDeviceId());
  335 + }
  336 + devices.add(device);
317 337 }
318 338 }
319 339 return devices;
... ...