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,6 +276,7 @@ public class VideoManagerRedisStoragerImpl implements IVideoManagerStorager {
276 PageResult pageResult = new PageResult<Device>(); 276 PageResult pageResult = new PageResult<Device>();
277 pageResult.setPage(page); 277 pageResult.setPage(page);
278 pageResult.setCount(count); 278 pageResult.setCount(count);
  279 + Device device = null;
279 280
280 if (deviceIds == null || deviceIds.length == 0) { 281 if (deviceIds == null || deviceIds.length == 0) {
281 282
@@ -284,11 +285,21 @@ public class VideoManagerRedisStoragerImpl implements IVideoManagerStorager { @@ -284,11 +285,21 @@ public class VideoManagerRedisStoragerImpl implements IVideoManagerStorager {
284 pageResult.setTotal(deviceIdList.size()); 285 pageResult.setTotal(deviceIdList.size());
285 int maxCount = (page + 1)* count; 286 int maxCount = (page + 1)* count;
286 for (int i = page * count; i < (pageResult.getTotal() > maxCount ? maxCount : pageResult.getTotal() ); i++) { 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 } else { 295 } else {
290 for (int i = 0; i < deviceIds.length; i++) { 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 pageResult.setData(devices); 305 pageResult.setData(devices);
@@ -304,16 +315,25 @@ public class VideoManagerRedisStoragerImpl implements IVideoManagerStorager { @@ -304,16 +315,25 @@ public class VideoManagerRedisStoragerImpl implements IVideoManagerStorager {
304 @Override 315 @Override
305 public List<Device> queryVideoDeviceList(String[] deviceIds) { 316 public List<Device> queryVideoDeviceList(String[] deviceIds) {
306 List<Device> devices = new ArrayList<>(); 317 List<Device> devices = new ArrayList<>();
  318 + Device device = null;
307 319
308 if (deviceIds == null || deviceIds.length == 0) { 320 if (deviceIds == null || deviceIds.length == 0) {
309 // List<Object> deviceIdList = redis.keys(VideoManagerConstants.DEVICE_PREFIX+"*"); 321 // List<Object> deviceIdList = redis.keys(VideoManagerConstants.DEVICE_PREFIX+"*");
310 List<Object> deviceIdList = redis.scan(VideoManagerConstants.DEVICE_PREFIX+"*"); 322 List<Object> deviceIdList = redis.scan(VideoManagerConstants.DEVICE_PREFIX+"*");
311 for (int i = 0; i < deviceIdList.size(); i++) { 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 } else { 330 } else {
315 for (int i = 0; i < deviceIds.length; i++) { 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 return devices; 339 return devices;