Commit 590358c31381c5fedad14b0c91f3aa64ce29e728

Authored by 648540858
1 parent 78fac69c

修复国标级联录像查询 #485

src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/RecordInfoResponseMessageHandler.java
... ... @@ -70,15 +70,20 @@ public class RecordInfoResponseMessageHandler extends SIPRequestProcessorParent
70 70  
71 71 rootElement = getRootElement(evt, device.getCharset());
72 72 String sn = getText(rootElement, "SN");
73   -
  73 + RecordInfo recordInfo = new RecordInfo();
  74 + recordInfo.setDeviceId(device.getDeviceId());
  75 + recordInfo.setSn(sn);
  76 + recordInfo.setName(getText(rootElement, "Name"));
74 77 String sumNumStr = getText(rootElement, "SumNum");
75 78 int sumNum = 0;
76 79 if (!StringUtils.isEmpty(sumNumStr)) {
77 80 sumNum = Integer.parseInt(sumNumStr);
78 81 }
  82 + recordInfo.setSumNum(sumNum);
79 83 Element recordListElement = rootElement.element("RecordList");
80 84 if (recordListElement == null || sumNum == 0) {
81 85 logger.info("无录像数据");
  86 + eventPublisher.recordEndEventPush(recordInfo);
82 87 recordDataCatch.put(device.getDeviceId(), sn, sumNum, new ArrayList<>());
83 88 releaseRequest(device.getDeviceId(), sn);
84 89 } else {
... ... @@ -112,6 +117,9 @@ public class RecordInfoResponseMessageHandler extends SIPRequestProcessorParent
112 117 record.setRecorderId(getText(itemRecord, "RecorderID"));
113 118 recordList.add(record);
114 119 }
  120 + recordInfo.setRecordList(recordList);
  121 + // 发送消息,如果是上级查询此录像,则会通过这里通知给上级
  122 + eventPublisher.recordEndEventPush(recordInfo);
115 123 int count = recordDataCatch.put(device.getDeviceId(), sn, sumNum, recordList);
116 124 logger.info("[国标录像], {}->{}: {}/{}", device.getDeviceId(), sn, count, sumNum);
117 125 }
... ...