liusuyi
2026-06-01 3496700a5ba18be8ca0590a79e21a867782d1ea9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
package com.ard.gb28181.api.domain;
 
 
import com.ard.gb28181.api.bean.SipTransactionInfo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
 
import java.io.Serializable;
 
/**
 * 国标设备/平台
 *
 * @author lin
 */
@Data
@Schema(description = "国标设备/平台")
public class Device implements Serializable {
 
    @Schema(description = "数据库自增ID")
    private int 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;
 
    /**
     * 数据流传输模式
     * UDP:udp传输
     * 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;
 
    /**
     * 在线
     */
    @Schema(description = "是否在线,true为在线,false为离线")
    private boolean onLine;
 
 
    /**
     * 注册时间
     */
    @Schema(description = "注册时间")
    private String registerTime;
 
 
    /**
     * 心跳时间
     */
    @Schema(description = "心跳时间")
    private String keepaliveTime;
 
 
    /**
     * 心跳间隔
     */
    @Schema(description = "心跳间隔")
    private Integer heartBeatInterval;
 
 
    /**
     * 心跳超时次数
     */
    @Schema(description = "心跳超时次数")
    private Integer heartBeatCount;
 
 
    /**
     * 定位功能支持情况
     */
    @Schema(description = "定位功能支持情况。取值:0-不支持;1-支持 GPS定位;2-支持北斗定位(可选,默认取值为0")
    private Integer positionCapability;
 
    /**
     * 通道个数
     */
    @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校验,默认关闭,开启可以防止串流
     */
    @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;
 
    @Schema(description = "所属服务Id")
    private String serverId;
 
    public boolean checkWgs84() {
        return geoCoordSys.equalsIgnoreCase("WGS84");
    }
}