554325746@qq.com
2019-06-18 5d9a71b33af87f59ce4104eb1b5da65f076a789d
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
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
syntax = "proto3";
import "base.proto";
 
package protomsg;
 
message TaskLabel {
    string taskid = 1;
    repeated string sdkids = 2;
    int32 index = 3 ;
}
 
//SdkMessage struct test
message SdkMessage {
    string    cid = 1;
    TaskLabel tasklab = 2;
    bytes      data =3 ;
 
   // Personaction personaction =4;
   // Vediopersons vedioperson = 5;
}
 
//message Personaction{
//    string imgKey       = 1; 
//    string videoReqNum  = 2;
//    string sdkType      = 3;
//    string picName      = 4;
//    string content      = 5;
//    string cluster_id   = 6;
//    string personPicUrl = 7;
//    string channlId     = 8;
//    string likeDate     = 9;
//
//    string picAddress   = 10;
//    string picMaxUrl    = 11;
//    string picDate      = 12;
//    string picLocalUrl  = 13;
//    string isDelete     = 14;
//    string likePer      = 15;
//    string baseName     = 16;
//    string videoNum     = 17;
//    string collection   = 18;
//    string picSmUrl     = 19;
//    
//    string indeviceid   = 20;
//    string idcard       = 21;
//    string ack_alarm    = 22;
//    string personId     = 23;
//    string id           = 24;
//    string indevicename = 25;
//    string faceFeature  = 26;
//    string personIsHub  = 27;
//    string videoIp      = 28;
//    string taskId       = 29;
//}
//
//message PersonBaseInfo {
//    string personNamae  = 1;
//    string iDCard       = 2;
//    string gender       = 3;
//    string personPicUrl = 4;
//    string likePer      = 5;
//    string tableId      = 6;
//    string monitorLevel = 7;
//    string personId     = 8;
//    string phoneNum     = 9;
//    string content      = 10;
//    string tableName    = 11;
//}
//
//message Vediopersons {
//    string iD           = 1;
//    string videoReqNum  = 2;
//    string sdkType=3;
//    string gender=4;
//    string picName=5;
//    string content=6;
//    string personPicUrl=7;
//    string channlId=8;
//    string likeDate=9;
//    string race=10;
//    string picAddress=11;
//    string picMaxUrl=12;
//    string age=13;
//    string picDate=14;
//    string picLocalUrl=15;
//    string isDelete=16;
//    repeated string tableName=17;
//    string videoNum=18;
//    string picSmUrl=19;
//    string simleLevel=20;
//    string indeviceId=21;
//    repeated string iDcard=22;
//    repeated string personId=23;
//    string beautyLevel=24;
//    string indeviceName=25;
//    string faceFeature=26;
//    string personIsHub=27;
//    string videoIp=28;
//    string ackAlarm=29;
//    string clusterId=30;
//    string taskId=31;
//    string taskName=32;
//    repeated PersonBaseInfo baseinfo =33;
//    string collection=34;
//    string ageDescription=35;
//    repeated string tableId=36;
//}
 
 
//Area结构体
message Area{
    int32 id = 1;
    int32 parentid = 2;
    string name = 3;
}
 
//Camera结构体
message Camera {
    string id = 1;
    string name = 2;
    int32 type = 3;
    string addr = 4;
    int32 areaid = 5;
    float longitude = 6;
    float latitude = 7;
    string rtsp = 8;
    string ip = 9;
    int32 port = 10;
    string username = 11;
    string password = 12;
    string brand = 13;
    string reserved = 14;
}
 
//摄像机的任务信息
message CameraAndTaskInfo {
    Camera camera = 1;//摄像机信息
    repeated Task tasks = 2;//任务列表
}
 
//Task结构体
message Task {
    string taskid = 1;
    string taskname = 2;
    string create_at = 3;
    string create_by = 4;
    string update_at = 5;
    bool enable = 6;
    bool is_alarm = 7;
    bool del_flag = 8;
}
 
message TaskSdkInfo {
    Task task = 1;
    repeated Sdk sdks = 2;
}
 
//摄像机任务
message CameraTask {
    string id = 1;
    string camera_id = 2;//摄像机id
    string task_id = 3;//任务id
    repeated DayCtl time_rule = 4;//布防时间
    string react_rule = 5;//联动方式
    string react_device = 6;//联动设备
    bool del_flag = 7; //逻辑删除标记
    bool update_flag = 8;//是否参数更新了
    bool enable = 9; //是否启用
    int32 sort = 10; //任务排序
    bool is_full = 11;//参数是否设置完整
    string link_task_id = 12;
}
 
//摄像机布防的时间规则,可以设置多个,用id关联到具体的规则配置中
message CameraTimerule {
    string id = 1;//id
    string name = 2;//规则名称
    string time_rule = 3;//具体时间规则设置
}
 
//DayCtl struct   每天的时间控制规则
message DayCtl {
    int32 day = 1;//1-7表示星期一到星期日
    repeated TimeRange time_range = 2;
}
 
//时间起始范围
message TimeRange {
    string start = 1;//开始
    string end = 2;//结束
}
 
//Polygon struct
message Polygon {
    string id = 1;//形状id
    string name = 2;//形状的名称
    repeated Point points = 3;//点的集合
}
 
message CameraTaskArgs {
    string camera_id = 1;
    repeated TaskGroupArgs task_args = 2;
}
 
message TaskGroupArgs {
    string task_id = 1;
    repeated GroupRule group_rules = 2;
}
 
message GroupRule {
    string group_id = 1;
    repeated Rule rules = 2;
}
 
message Rule {
    string id =1;
    string camera_task_id =2;
    string camera_id =3;
    string polygon_id =4;
    string sdk_id = 5;
    string sdk_arg_alias = 6;
    string operator = 7;
    string operator_type = 8;
    string sdk_arg_value = 9;
    int32 sort = 10;
    string rule_with_pre = 11;
    string group_id =12;
}
 
//Sdk struct
message Sdk {
    string id = 1;
    string sdk_type = 2;//算法类型
    string sdk_name = 3;//sdk名称
    repeated SdkArg args = 4;//算法参数
    string icon = 5;//算法图标
    string url = 6;//算法下载地址
    string create_time = 7;
    string update_time = 8;
    string create_by = 9;
    bool enabled = 10;//是否启用
    int32 del_flag = 11;//是否删除
}
 
//SdkArg struct
message SdkArg {
    string alias = 1;//参数别名
    string name = 2;//参数名称
    string type = 3;//参数类型
    bool must = 4;//参数是否必填
    string unit = 5;//单位
    string range = 6;//参数的范围
    int32 sort = 7;//参数排序
}
 
//TableChanged enum
enum TableChanged {
    T_Camera = 0;//摄像机变化
    T_CameraTask = 1;//摄像机任务变化
    T_CameraTaskArgs = 2;//摄像机任务参数变化
    T_Task = 3;//任务表变化
    T_TaskSdk = 4;//任务算法变化
    T_TaskSdkRule = 5;//任务算法规则变化
    T_Sdk = 6;//sdk变化
}
 
enum DbAction {
    Insert = 0;//Insert
    Update = 1;//Update
    Delete = 2;//Delete
}
 
//publish db change message
message DbChangeMessage {
    TableChanged table = 1;//变化的表
    string id = 2;//变化数据id
    DbAction action = 3;//action
    string info = 4;//变化内容
}
 
message CameraPolygon {
    string id = 1;
    string camera_id = 2;//摄像机id
    string name = 3;//名称
    string polygon = 4;//坐标点集合
    string trigger_line = 5;
    string direction_line = 6;
    string type = 7;
    int32 defence_state = 8;
}