package dbapi import ( "encoding/json" "strconv" ) type CameraTaskApi struct { Ip string Port int } func (api CameraTaskApi) getBasicUrl() string { if api.Ip == "" { return BASIC_URL } if api.Ip == "" { api.Ip = DEFAULT_IP } if api.Port == 0 { api.Port = DEFAULT_PORT } return "http://"+api.Ip+":"+strconv.Itoa(api.Port) } func (api CameraTaskApi) AddTask(cameraId string,taskId string) (bool,interface{}) { url := api.getBasicUrl() + DATA_URL_PREFIX + "/cameraTask/addTask" client := NewClient() paramBody := map[string]interface{}{ "cameraId": cameraId, "taskId": taskId, } respBody, err := client.DoPostRequest(url, CONTENT_TYPE_FORM, paramBody,nil,nil) if err != nil { return false,nil } var res Result if err = json.Unmarshal(respBody, &res); err != nil { return false,nil } return res.Success,res.Data } func (api CameraTaskApi) CameraTaskSave(paramBody map[string]interface{}) (bool,interface{}) { url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/saveTask" client := NewClient() respBody, err := client.DoPostRequest(url, CONTENT_TYPE_JSON, paramBody,nil, nil) if err != nil { return false,nil } var res Result if err = json.Unmarshal(respBody, &res); err != nil { return false,nil } return res.Success,res.Data } func (api CameraTaskApi) PasteRules(sourceId string, targetIds []string) bool { url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/pasteRules" client := NewClient() paramBody := map[string]interface{} { "sourceId": sourceId, "targetIds": targetIds, } respBody, err := client.DoPostRequest(url, CONTENT_TYPE_JSON, paramBody,nil, nil) if err != nil { return false } var res Result if err = json.Unmarshal(respBody, &res); err != nil { return false } return res.Success } func (api CameraTaskApi) FindTasksByCameraIds(cameraIds []string) (bool,interface{}) { url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/alltask" client := NewClient() paramBody :=make(map[string]interface{}) paramBody["cameraIds"] = cameraIds respBody, err := client.DoPostRequest(url, CONTENT_TYPE_JSON, paramBody,nil, nil) if err != nil { return false,nil } var res Result if err = json.Unmarshal(respBody, &res); err != nil { return false,nil } return res.Success,res.Data } func (api CameraTaskApi) CameraTaskAll(cameraId string) (bool,interface{}) { url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/task/"+cameraId client := NewClient() paramQuery :=make(map[string]string) paramQuery["cameraId"] = cameraId respBody, err := client.DoGetRequest(url, paramQuery,nil) if err != nil { return false,nil } var res Result if err = json.Unmarshal(respBody, &res); err != nil { return false,nil } return res.Success,res.Data } func (api CameraTaskApi) DeleteCameraTask(cameraId string,taskId string) (bool,interface{}) { url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/delTask/"+cameraId+"/"+taskId client := NewClient() respBody, err := client.DoDeleteRequest(url, CONTENT_TYPE_FORM, nil,nil) if err != nil { return false,nil } var res Result if err = json.Unmarshal(respBody, &res); err != nil { return false,nil } return res.Success,res.Data } func (api CameraTaskApi) SaveIsDataTrans(paramBody map[string]interface{}) (bool,interface{}){ url := api.getBasicUrl() + DATA_URL_PREFIX + "/cameraTask/saveIsDataTrans" client := NewClient() respBody, err := client.DoPostRequest(url, CONTENT_TYPE_JSON, paramBody,nil, nil) if err != nil { return false,nil } var res Result if err = json.Unmarshal(respBody, &res); err != nil { return false,nil } return res.Success,res.Data } func (api CameraTaskApi) SaveAlarmLevelByGroup(groupId string,alarmLevel int) (bool,interface{}){ url := api.getBasicUrl() + DATA_URL_PREFIX + "/cameraTask/saveAlarmLevelByGroup" client := NewClient() paramBody :=make(map[string]interface{},0) paramBody["group_id"] = groupId paramBody["alarm_level"] = alarmLevel respBody, err := client.DoPostRequest(url, CONTENT_TYPE_JSON, paramBody,nil, nil) if err != nil { return false,nil } var res Result if err = json.Unmarshal(respBody, &res); err != nil { return false,nil } return res.Success,res.Data } //更新摄像机任务状态 func (api CameraTaskApi) UpdateCameraTaskStatus(cameraId string,taskId string,statusInt int) (bool,interface{}){ url := api.getBasicUrl() + DATA_URL_PREFIX + "/cameraTask/updateCameraTaskStatus" client := NewClient() paramBody :=make(map[string]interface{}) paramBody["cameraId"] = cameraId paramBody["taskId"] = taskId paramBody["status"] = statusInt respBody, err := client.DoPostRequest(url, CONTENT_TYPE_JSON, paramBody, nil, nil) if err != nil { return false,nil } var res Result if err = json.Unmarshal(respBody, &res); err != nil { return false,nil } return res.Success,res.Data }