648540858
2024-03-28 1de344674afd6bb35b51b165bbad76dbe6299b7e
src/main/java/com/genersoft/iot/vmp/gb28181/bean/Device.java
@@ -1,37 +1,50 @@
package com.genersoft.iot.vmp.gb28181.bean;
import io.swagger.v3.oas.annotations.media.Schema;
/**
 * 国标设备/平台
 * @author lin
 */
@Schema(description = "国标设备/平台")
public class Device {
   /**
    * 设备Id
    * 设备国标编号
    */
   @Schema(description = "设备国标编号")
   private String deviceId;
   /**
    * 设备名
    */
   @Schema(description = "名称")
   private String name;
   
   /**
    * 生产厂商
    */
   @Schema(description = "生产厂商")
   private String manufacturer;
   
   /**
    * 型号
    */
   @Schema(description = "型号")
   private String model;
   
   /**
    * 固件版本
    */
   @Schema(description = "固件版本")
   private String firmware;
   /**
    * 传输协议
    * UDP/TCP
    */
   @Schema(description = "传输协议(UDP/TCP)")
   private String transport;
   /**
@@ -40,95 +53,143 @@
    * TCP-ACTIVE:tcp主动模式
    * TCP-PASSIVE:tcp被动模式
    */
   @Schema(description = "数据流传输模式")
   private String streamMode;
   /**
    * wan地址_ip
    */
   @Schema(description = "IP")
   private String  ip;
   /**
    * wan地址_port
    */
   @Schema(description = "端口")
   private int port;
   /**
    * wan地址
    */
   @Schema(description = "wan地址")
   private String  hostAddress;
   
   /**
    * 在线
    */
   private int online;
   @Schema(description = "是否在线,true为在线,false为离线")
   private boolean onLine;
   /**
    * 注册时间
    */
   @Schema(description = "注册时间")
   private String registerTime;
   /**
    * 心跳时间
    */
   @Schema(description = "心跳时间")
   private String keepaliveTime;
   /**
    * 心跳间隔
    */
   @Schema(description = "心跳间隔")
   private int keepaliveIntervalTime;
   /**
    * 通道个数
    */
   @Schema(description = "通道个数")
   private int channelCount;
   /**
    * 注册有效期
    */
   @Schema(description = "注册有效期")
   private int expires;
   /**
    * 创建时间
    */
   @Schema(description = "创建时间")
   private String createTime;
   /**
    * 更新时间
    */
   @Schema(description = "更新时间")
   private String updateTime;
   /**
    * 设备使用的媒体id, 默认为null
    */
   @Schema(description = "设备使用的媒体id, 默认为null")
   private String mediaServerId;
   /**
    * 字符集, 支持 UTF-8 与 GB2312
    */
   @Schema(description = "符集, 支持 UTF-8 与 GB2312")
   private String charset ;
   /**
    * 目录订阅周期,0为不订阅
    */
   @Schema(description = "目录订阅周期,o为不订阅")
   private int subscribeCycleForCatalog;
   /**
    * 移动设备位置订阅周期,0为不订阅
    */
   @Schema(description = "移动设备位置订阅周期,0为不订阅")
   private int subscribeCycleForMobilePosition;
   /**
    * 移动设备位置信息上报时间间隔,单位:秒,默认值5
    */
   @Schema(description = "移动设备位置信息上报时间间隔,单位:秒,默认值5")
   private int mobilePositionSubmissionInterval = 5;
   /**
    * 报警订阅周期,0为不订阅
    */
   @Schema(description = "报警心跳时间订阅周期,0为不订阅")
   private int subscribeCycleForAlarm;
   /**
    * 是否开启ssrc校验,默认关闭,开启可以防止串流
    */
   private boolean ssrcCheck;
   @Schema(description = "是否开启ssrc校验,默认关闭,开启可以防止串流")
   private boolean ssrcCheck = false;
   /**
    * 地理坐标系, 目前支持 WGS84,GCJ02
    */
   @Schema(description = "地理坐标系, 目前支持 WGS84,GCJ02")
   private String geoCoordSys;
   @Schema(description = "密码")
   private String password;
   @Schema(description = "收流IP")
   private String sdpIp;
   @Schema(description = "SIP交互IP(设备访问平台的IP)")
   private String localIp;
   @Schema(description = "是否作为消息通道")
   private boolean asMessageChannel;
   @Schema(description = "设备注册的事务信息")
   private SipTransactionInfo sipTransactionInfo;
   @Schema(description = "控制语音对讲流程,释放收到ACK后发流")
   private boolean broadcastPushAfterAck;
   public String getDeviceId() {
      return deviceId;
@@ -182,6 +243,20 @@
      return streamMode;
   }
   public Integer getStreamModeForParam() {
      if (streamMode == null) {
         return 0;
      }
      if (streamMode.equalsIgnoreCase("UDP")) {
         return 0;
      }else if (streamMode.equalsIgnoreCase("TCP-PASSIVE")) {
         return 1;
      }else if (streamMode.equalsIgnoreCase("TCP-ACTIVE")) {
         return 2;
      }
      return 0;
   }
   public void setStreamMode(String streamMode) {
      this.streamMode = streamMode;
   }
@@ -210,12 +285,12 @@
      this.hostAddress = hostAddress;
   }
   public int getOnline() {
      return online;
   public boolean isOnLine() {
      return onLine;
   }
   public void setOnline(int online) {
      this.online = online;
   public void setOnLine(boolean onLine) {
      this.onLine = onLine;
   }
   public int getChannelCount() {
@@ -321,4 +396,67 @@
   public void setSsrcCheck(boolean ssrcCheck) {
      this.ssrcCheck = ssrcCheck;
   }
   public String getGeoCoordSys() {
      return geoCoordSys;
   }
   public void setGeoCoordSys(String geoCoordSys) {
      this.geoCoordSys = geoCoordSys;
   }
   public String getPassword() {
      return password;
   }
   public void setPassword(String password) {
      this.password = password;
   }
   public String getSdpIp() {
      return sdpIp;
   }
   public void setSdpIp(String sdpIp) {
      this.sdpIp = sdpIp;
   }
   public String getLocalIp() {
      return localIp;
   }
   public void setLocalIp(String localIp) {
      this.localIp = localIp;
   }
   public int getKeepaliveIntervalTime() {
      return keepaliveIntervalTime;
   }
   public void setKeepaliveIntervalTime(int keepaliveIntervalTime) {
      this.keepaliveIntervalTime = keepaliveIntervalTime;
   }
   public boolean isAsMessageChannel() {
      return asMessageChannel;
   }
   public void setAsMessageChannel(boolean asMessageChannel) {
      this.asMessageChannel = asMessageChannel;
   }
   public SipTransactionInfo getSipTransactionInfo() {
      return sipTransactionInfo;
   }
   public void setSipTransactionInfo(SipTransactionInfo sipTransactionInfo) {
      this.sipTransactionInfo = sipTransactionInfo;
   }
    public boolean isBroadcastPushAfterAck() {
        return broadcastPushAfterAck;
    }
    public void setBroadcastPushAfterAck(boolean broadcastPushAfterAck) {
        this.broadcastPushAfterAck = broadcastPushAfterAck;
    }
}