Browse Source

进一步优化录像列表获取算法

pull/35/head
Lawrence 4 years ago
parent
commit
92e9a3b91c
  1. 4
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java

4
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java

@ -342,7 +342,7 @@ public class MessageRequestProcessor extends SIPRequestAbstractProcessor {
try { try {
// 回复200 OK // 回复200 OK
responseAck(evt); responseAck(evt);
String seqNo = String.valueOf(System.currentTimeMillis()); String uuid = UUID.randomUUID().toString().replace("-", "");
RecordInfo recordInfo = new RecordInfo(); RecordInfo recordInfo = new RecordInfo();
Element rootElement = getRootElement(evt); Element rootElement = getRootElement(evt);
Element deviceIdElement = rootElement.element("DeviceID"); Element deviceIdElement = rootElement.element("DeviceID");
@ -398,7 +398,7 @@ public class MessageRequestProcessor extends SIPRequestAbstractProcessor {
// 为防止连续请求该设备的录像数据,返回数据错乱,特增加sn进行区分 // 为防止连续请求该设备的录像数据,返回数据错乱,特增加sn进行区分
String cacheKey = CACHE_RECORDINFO_KEY + deviceId + sn; String cacheKey = CACHE_RECORDINFO_KEY + deviceId + sn;
redis.set(cacheKey + "_" + seqNo, recordList, 90); redis.set(cacheKey + "_" + uuid, recordList, 90);
List<Object> cacheKeys = redis.scan(cacheKey + "_*"); List<Object> cacheKeys = redis.scan(cacheKey + "_*");
List<RecordItem> totalRecordList = new ArrayList<RecordItem>(); List<RecordItem> totalRecordList = new ArrayList<RecordItem>();
for (int i = 0; i < cacheKeys.size(); i++) { for (int i = 0; i < cacheKeys.size(); i++) {

Loading…
Cancel
Save