From 4e8659e156767b7f471725840b331a5ec9be9894 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期六, 07 十一月 2020 22:15:53 +0800
Subject: [PATCH] Merge pull request #10 from lawrencehj/master

---
 src/main/java/com/genersoft/iot/vmp/storager/redis/VideoManagerRedisStoragerImpl.java |   28 ++++++++++++++++++++++++----
 1 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/storager/redis/VideoManagerRedisStoragerImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/redis/VideoManagerRedisStoragerImpl.java
index 7c3a2fc..765dc82 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/redis/VideoManagerRedisStoragerImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/redis/VideoManagerRedisStoragerImpl.java
@@ -276,6 +276,7 @@
 		PageResult pageResult = new PageResult<Device>();
 		pageResult.setPage(page);
 		pageResult.setCount(count);
+		Device device = null;
 
 		if (deviceIds == null || deviceIds.length == 0) {
 
@@ -284,11 +285,21 @@
 			pageResult.setTotal(deviceIdList.size());
 			int maxCount = (page + 1)* count;
 			for (int i = page * count; i < (pageResult.getTotal() > maxCount ? maxCount : pageResult.getTotal() ); i++) {
-				devices.add((Device)redis.get((String)deviceIdList.get(i)));
+				// devices.add((Device)redis.get((String)deviceIdList.get(i)));
+				device =(Device)redis.get((String)deviceIdList.get(i));
+				if (redis.scan(VideoManagerConstants.KEEPLIVEKEY_PREFIX+device.getDeviceId()).size() == 0){
+					outline(device.getDeviceId());
+				}
+				devices.add(device);
 			}
 		} else {
 			for (int i = 0; i < deviceIds.length; i++) {
-				devices.add((Device)redis.get(VideoManagerConstants.DEVICE_PREFIX+deviceIds[i]));
+				// devices.add((Device)redis.get(VideoManagerConstants.DEVICE_PREFIX+deviceIds[i]));
+				device = (Device)redis.get(VideoManagerConstants.DEVICE_PREFIX+deviceIds[i]);
+				if (redis.scan(VideoManagerConstants.KEEPLIVEKEY_PREFIX+device.getDeviceId()).size() == 0){
+					outline(device.getDeviceId());
+				}
+				devices.add(device);
 			}
 		}
 		pageResult.setData(devices);
@@ -304,16 +315,25 @@
 	@Override
 	public List<Device> queryVideoDeviceList(String[] deviceIds) {
 		List<Device> devices = new ArrayList<>();
+		Device device = null;
 
 		if (deviceIds == null || deviceIds.length == 0) {
 //			List<Object> deviceIdList = redis.keys(VideoManagerConstants.DEVICE_PREFIX+"*");
 			List<Object> deviceIdList = redis.scan(VideoManagerConstants.DEVICE_PREFIX+"*");
 			for (int i = 0; i < deviceIdList.size(); i++) {
-				devices.add((Device)redis.get((String)deviceIdList.get(i)));
+				device =(Device)redis.get((String)deviceIdList.get(i));
+				if (redis.scan(VideoManagerConstants.KEEPLIVEKEY_PREFIX+device.getDeviceId()).size() == 0){
+					outline(device.getDeviceId());
+				}
+				devices.add(device);
 			}
 		} else {
 			for (int i = 0; i < deviceIds.length; i++) {
-				devices.add((Device)redis.get(VideoManagerConstants.DEVICE_PREFIX+deviceIds[i]));
+				device = (Device)redis.get(VideoManagerConstants.DEVICE_PREFIX+deviceIds[i]);
+				if (redis.scan(VideoManagerConstants.KEEPLIVEKEY_PREFIX+device.getDeviceId()).size() == 0){
+					outline(device.getDeviceId());
+				}
+				devices.add(device);
 			}
 		}
 		return devices;

--
Gitblit v1.8.0