fix
liuxiaolong
2019-11-13 263c7b18ce7f18f1222318f6e0e499e907895a52
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
package controllers
 
import (
    "basic.com/dbapi.git"
    "github.com/gin-gonic/gin"
    "strconv"
    "webserver/extend/code"
    "basic.com/valib/logger.git"
    "webserver/extend/util"
)
 
type CameraTaskArgsController struct {
 
}
 
func (controller CameraTaskArgsController) FindByCameraAndTask(c *gin.Context) {
    cameraId := c.Query("cameraId")
    taskId := c.Query("taskId")
    setType := c.Query("set_type")
    if cameraId == "" || taskId == "" || setType == "" {
        util.ResponseFormat(c,code.RequestParamError,"摄像机id和任务id不能为空")
        return
    }
    var api dbapi.CameraTaskArgsApi
    flag,data := api.FindByCameraAndTask(cameraId,taskId,setType)
 
    if flag {
        util.ResponseFormat(c, code.Success, data)
    } else {
        util.ResponseFormat(c, code.ComError, data)
    }
}
 
func (controller CameraTaskArgsController) GetLinkRulesByCameraIds(c *gin.Context) {
    var cameraIdsVo MultiCamera
    if err := c.BindJSON(&cameraIdsVo);err !=nil {
        util.ResponseFormat(c,code.RequestParamError,"参数有误")
        return
    }
    var api dbapi.CameraTaskArgsApi
    paramBody := util.Struct2Map(cameraIdsVo)
    flag,data := api.GetLinkRulesByCameraIds(paramBody)
    if flag {
        util.ResponseFormat(c,code.Success,data)
    } else {
        util.ResponseFormat(c,code.ComError,data)
    }
}
 
func (controller CameraTaskArgsController) UpdateDefenceStateByGroup(c *gin.Context){
    groupId := c.PostForm("groupId")
    str := c.PostForm("defenceState")
    logger.Debug("defenceState:",str)
    defenceState, err := strconv.ParseBool(str)
    if groupId =="" || err !=nil{
        util.ResponseFormat(c, code.RequestParamError, "参数有误")
        return
    }
    var api dbapi.CameraTaskArgsApi
    if b,data := api.UpdateDefenceStateByGroup(groupId,defenceState);b{
        util.ResponseFormat(c,code.UpdateSuccess,data)
    } else {
        util.ResponseFormat(c,code.ComError,data)
    }
}
 
func (controller CameraTaskArgsController)DeleteByGroup(c *gin.Context) {
    groupId := c.Query("groupId")
    if groupId == "" {
        util.ResponseFormat(c, code.RequestParamError, "id必填")
        return
    }
    var api dbapi.CameraTaskArgsApi
    flag,data := api.DeleteByGroup(groupId)
    if flag {
        util.ResponseFormat(c,code.Success,data)
    } else {
        util.ResponseFormat(c,code.ComError,"删除失败")
    }
 
}
 
type SaveLinkRulesGroupVo struct {
    LinkTaskId string `json:"link_task_id"`//联动任务id
    GroupId string `json:"group_id"`//分组id
    GroupText string `json:"group_text"`//组规则文字
    Rules []LinkRuleArgVo `json:"rules"`//组内的规则
}
 
type LinkRuleArgVo struct {
    TaskId string `json:"task_id"`
    CameraTaskArgs
}
 
type CameraTaskArgs struct {
    Id string `json:"id"`
    CameraTaskId string `json:"camera_task_id"`//camera_tasks表的主键,摄像机和任务关联id或者联动任务id
    CameraId string     `json:"camera_id"`//摄像机id
    PolygonId string `json:"polygon_id"`//多边形id
    SdkId string `json:"sdk_id"`//算法id
    SdkArgAlias string `json:"sdk_arg_alias"`//算法参数别名
    Operator string `json:"operator"`//计算方式=,>,>=等等
    OperatorType string `json:"operator_type"`//计算的值类型
    SdkArgValue string `json:"sdk_arg_value"` //算法参数值设置
    Sort int `json:"sort"`//排序
    RuleWithPre string `json:"rule_with_pre"`//与上一条记录的逻辑运算规则(&&,||)
    GroupId string `json:"group_id"`//分组id
}
 
func (controller CameraTaskArgsController) SaveLinkRulesByGroup(c *gin.Context) {
    var saveBody SaveLinkRulesGroupVo
    if err := c.BindJSON(&saveBody);err !=nil {
        util.ResponseFormat(c,code.RequestParamError,"参数有误")
        return
    }
    var api dbapi.CameraTaskArgsApi
    paramBody := util.Struct2Map(saveBody)
    flag,data := api.SaveLinkRulesByGroup(paramBody)
    if flag {
        util.ResponseFormat(c,code.Success,data)
    } else {
        util.ResponseFormat(c,code.ComError,data)
    }
}