Commit e861c9dfab7d74444593b3cfa866544d648dca7f

Authored by 648540858
2 parents 0a44eb89 2d82d1b8

Merge remote-tracking branch 'origin/master' into wvp-pro-record

# Conflicts:
#	src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java
#	src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/query/cmd/RecordInfoQueryMessageHandler.java 0 → 100644
  1 +package com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.query.cmd;
  2 +
  3 +import com.genersoft.iot.vmp.conf.SipConfig;
  4 +import com.genersoft.iot.vmp.gb28181.bean.*;
  5 +import com.genersoft.iot.vmp.gb28181.event.EventPublisher;
  6 +import com.genersoft.iot.vmp.gb28181.transmit.callback.DeferredResultHolder;
  7 +import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommanderFroPlatform;
  8 +import com.genersoft.iot.vmp.gb28181.transmit.event.request.SIPRequestProcessorParent;
  9 +import com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.IMessageHandler;
  10 +import com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.query.QueryMessageHandler;
  11 +import com.genersoft.iot.vmp.storager.IVideoManagerStorager;
  12 +import com.genersoft.iot.vmp.vmanager.gb28181.platform.bean.ChannelReduce;
  13 +import org.dom4j.Element;
  14 +import org.slf4j.Logger;
  15 +import org.slf4j.LoggerFactory;
  16 +import org.springframework.beans.factory.InitializingBean;
  17 +import org.springframework.beans.factory.annotation.Autowired;
  18 +import org.springframework.stereotype.Component;
  19 +
  20 +import javax.sip.InvalidArgumentException;
  21 +import javax.sip.RequestEvent;
  22 +import javax.sip.SipException;
  23 +import javax.sip.header.FromHeader;
  24 +import javax.sip.message.Response;
  25 +import java.text.ParseException;
  26 +import java.util.List;
  27 +
  28 +@Component
  29 +public class RecordInfoQueryMessageHandler extends SIPRequestProcessorParent implements InitializingBean, IMessageHandler {
  30 +
  31 + private Logger logger = LoggerFactory.getLogger(RecordInfoQueryMessageHandler.class);
  32 + private final String cmdType = "RecordInfo";
  33 +
  34 + @Autowired
  35 + private QueryMessageHandler queryMessageHandler;
  36 +
  37 + @Autowired
  38 + private IVideoManagerStorager storager;
  39 +
  40 + @Autowired
  41 + private SIPCommanderFroPlatform cmderFroPlatform;
  42 +
  43 + @Autowired
  44 + private SipConfig config;
  45 +
  46 + @Autowired
  47 + private EventPublisher publisher;
  48 +
  49 + @Override
  50 + public void afterPropertiesSet() throws Exception {
  51 + queryMessageHandler.addHandler(cmdType, this);
  52 + }
  53 +
  54 + @Override
  55 + public void handForDevice(RequestEvent evt, Device device, Element element) {
  56 +
  57 + }
  58 +
  59 + @Override
  60 + public void handForPlatform(RequestEvent evt, ParentPlatform parentPlatform, Element rootElement) {
  61 +
  62 + String key = DeferredResultHolder.CALLBACK_CMD_CATALOG + parentPlatform.getServerGBId();
  63 + FromHeader fromHeader = (FromHeader) evt.getRequest().getHeader(FromHeader.NAME);
  64 + try {
  65 + // 回复200 OK
  66 + responseAck(evt, Response.OK);
  67 + Element snElement = rootElement.element("SN");
  68 + String sn = snElement.getText();
  69 + Element deviceIDElement = rootElement.element("DeviceID");
  70 + String channelId = deviceIDElement.getText();
  71 + Element startTimeElement = rootElement.element("StartTime");
  72 + String startTime = startTimeElement.getText();
  73 + Element endTimeElement = rootElement.element("EndTime");
  74 + String endTime = endTimeElement.getText();
  75 +// Element secrecyElement = rootElement.element("Secrecy");
  76 +// int secrecy = Integer.parseInt(secrecyElement.getText());
  77 +// Element typeElement = rootElement.element("Type");
  78 +// String type = typeElement.getText();
  79 + // 确认是直播还是国标, 国标直接请求下级,直播请求录像管理服务
  80 +
  81 + } catch (SipException e) {
  82 + e.printStackTrace();
  83 + } catch (InvalidArgumentException e) {
  84 + e.printStackTrace();
  85 + } catch (ParseException e) {
  86 + e.printStackTrace();
  87 + }
  88 +
  89 + }
  90 +}
... ...