liuxiaolong
2019-06-14 bdaaccef1c9f4cf7210a5e2c16305c79ff2ba19c
protomsg.proto
@@ -7,6 +7,7 @@
   int32 index = 3 ;
}
//SdkMessage struct test
message SdkMessage {
   string cid = 1;
   TaskLabel tasklab = 2;
@@ -18,6 +19,146 @@
    int32 width = 1;
    int32 height = 2;
    bytes data = 3;
}
//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_ids = 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_group_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 TaskArgs group_args = 2;
}
message TaskArgs {
    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;
    string enabled = 10;//是否启用
    string del_flag = 11;//是否删除
}
//SdkArg struct
message SdkArg {
    string alias = 2;//参数别名
    string name = 3;//参数名称
    string type = 4;//参数类型
    bool must = 5;//参数是否必填
    string range = 6;//参数的范围
    int32 sort = 7;//参数排序
}
// struct for sdk
@@ -70,3 +211,60 @@
   int32 typ = 2;
   float prob = 3;
}
// sdk face property
message ParamFacePos{
   FacePos pos = 1;
   Image img = 2;
}
// sdk face extract
message ParamFaceCompare{
   bytes feat1 = 1;
   bytes feat2 = 2;
}
// sdk face property
message ParamFaceProperty{
    ThftResult result = 1;
    Image img = 2;
}
// sdk yolo detect
message ParamYoloObj{
    repeated ObjInfo infos = 1;
    Image img = 2;
}
//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;
}