| | |
| | | "basic.com/pubsub/protomsg.git" |
| | | "encoding/json" |
| | | "fmt" |
| | | "strconv" |
| | | ) |
| | | |
| | | type CameraApi struct{} |
| | | type CameraApi struct{ |
| | | Ip string |
| | | Port int |
| | | } |
| | | |
| | | //通过cameraId获取摄像机信息 |
| | | func (api CameraApi) GetCameraById(cameraId string) (result protomsg.Camera, err error) { |
| | | url := BASIC_URL + DATA_URL_PREFIX + "/camera/show/" + cameraId |
| | | func (api CameraApi) 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 CameraApi) CameraAdd(paramBody map[string]interface{}) (bool,interface{}) { |
| | | url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/add" |
| | | client := NewClient() |
| | | |
| | | body, err := client.DoGetRequest(url, nil, nil) |
| | | body, err := client.DoPostRequest(url,CONTENT_TYPE_JSON,paramBody,nil,nil) |
| | | if err != nil { |
| | | return result, err |
| | | return false,nil |
| | | } |
| | | |
| | | var res Result |
| | | if err = json.Unmarshal(body, &res); err != nil { |
| | | return false,nil |
| | | } |
| | | return res.Success,res.Data |
| | | } |
| | | |
| | | func (api CameraApi) CameraUpdate(paramBody map[string]interface{}) bool { |
| | | url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/update" |
| | | client := NewClient() |
| | | body, err := client.DoPutRequest(url,CONTENT_TYPE_JSON,paramBody,nil) |
| | | if err != nil { |
| | | return false |
| | | } |
| | | |
| | | var res Result |
| | | if err = json.Unmarshal(body, &res); err != nil { |
| | | return false |
| | | } |
| | | return res.Success |
| | | } |
| | | |
| | | func (api CameraApi) UpdateSnapshotUrl(cameraId string, snapshot string) bool { |
| | | url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/updateSnapshot" |
| | | client := NewClient() |
| | | paramBody :=make(map[string]interface{},0) |
| | | paramBody["snapshot"] = snapshot |
| | | paramBody["cameraId"] = cameraId |
| | | body,err := client.DoPostRequest(url,CONTENT_TYPE_FORM, paramBody,nil,nil) |
| | | if err != nil { |
| | | return false |
| | | } |
| | | |
| | | var res Result |
| | | if err = json.Unmarshal(body, &res); err != nil { |
| | | fmt.Println(err) |
| | | return result,err |
| | | return false |
| | | } |
| | | |
| | | return res.Success |
| | | } |
| | | |
| | | func (api CameraApi) CameraDelete(cid string) bool { |
| | | url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/del/"+cid |
| | | client := NewClient() |
| | | paramMap := make(map[string]string,0) |
| | | paramMap["cid"] = cid |
| | | body, err := client.DoDeleteRequest(url,CONTENT_TYPE_FORM,nil,paramMap) |
| | | if err != nil { |
| | | return false |
| | | } |
| | | |
| | | var res Result |
| | | if err = json.Unmarshal(body, &res); err != nil { |
| | | return false |
| | | } |
| | | return res.Success |
| | | } |
| | | |
| | | //通过cameraId获取摄像机信息 |
| | | func (api CameraApi) GetCameraById(cameraId string) (camera protomsg.Camera, err error) { |
| | | url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/show/" + cameraId |
| | | client := NewClient() |
| | | |
| | | body, err := client.DoGetRequest(url, nil, nil) |
| | | if err != nil { |
| | | return camera, err |
| | | } |
| | | |
| | | var res Result |
| | | if err = json.Unmarshal(body, &res); err != nil { |
| | | return camera,err |
| | | } |
| | | |
| | | bytes, _ := json.Marshal(res.Data) |
| | | err = json.Unmarshal(bytes, &result) |
| | | err = json.Unmarshal(bytes, &camera) |
| | | |
| | | return result, err |
| | | return camera, err |
| | | } |
| | | |
| | | func (api CameraApi) FindAll() (cameras []protomsg.Camera) { |
| | | url := BASIC_URL + DATA_URL_PREFIX + "/camera/showAll" |
| | | url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/showAll" |
| | | client := NewClient() |
| | | |
| | | body, err := client.DoGetRequest(url, nil, nil) |
| | |
| | | return cameras |
| | | } |
| | | |
| | | func (api CameraApi) GetAllCamerasByServer(serverId string,cameraName string) (bool,interface{}) { |
| | | url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/getAllCamerasByServer" |
| | | client := NewClient() |
| | | paramQuery := make(map[string]string,0) |
| | | paramQuery["serverId"] = serverId |
| | | paramQuery["cameraName"] = cameraName |
| | | body, err := client.DoGetRequest(url, paramQuery, nil) |
| | | if err != nil { |
| | | return false,nil |
| | | } |
| | | |
| | | var res Result |
| | | if err = json.Unmarshal(body, &res); err != nil { |
| | | return false,nil |
| | | } |
| | | |
| | | return res.Success,res.Data |
| | | } |
| | | |
| | | //获取所有摄像机的信息以及其所有任务 |
| | | func (api CameraApi) FindAllCameraAndTask() (cameraTasks []protomsg.CameraAndTaskInfo){ |
| | | url := BASIC_URL + DATA_URL_PREFIX + "/camera/queryCameraAndTaskInfo" |
| | | url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/queryCameraAndTaskInfo" |
| | | client := NewClient() |
| | | |
| | | body, err := client.DoGetRequest(url, nil, nil) |
| | |
| | | err = json.Unmarshal(bytes, &cameraTasks) |
| | | |
| | | return cameraTasks |
| | | } |
| | | |
| | | func (api CameraApi) SaveCameraPolygon(paramBody map[string]interface{}) (bool,interface{}) { |
| | | url := api.getBasicUrl() + DATA_URL_PREFIX + "/polygon/save" |
| | | client := NewClient() |
| | | body,err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody,nil,nil) |
| | | if err != nil { |
| | | return false,nil |
| | | } |
| | | |
| | | var res Result |
| | | if err = json.Unmarshal(body, &res); err != nil { |
| | | fmt.Println(err) |
| | | return false,nil |
| | | } |
| | | |
| | | return res.Success,res.Data |
| | | } |
| | | |
| | | func (api CameraApi) DeleteCameraPolygon(id string) (bool,interface{}){ |
| | | url := api.getBasicUrl() + DATA_URL_PREFIX + "/polygon/delete" |
| | | client := NewClient() |
| | | paramQuery := make(map[string]string,0) |
| | | paramQuery["id"]=id |
| | | body, err := client.DoGetRequest(url, paramQuery, nil) |
| | | if err != nil { |
| | | return false,nil |
| | | } |
| | | |
| | | var res Result |
| | | if err = json.Unmarshal(body, &res); err != nil { |
| | | return false,nil |
| | | } |
| | | return res.Success,res.Data |
| | | } |
| | | |
| | | func (api CameraApi) FindAllPolygons() ([]protomsg.CameraPolygon) { |
| | | polygons := make([]protomsg.CameraPolygon,0) |
| | | url := api.getBasicUrl() + DATA_URL_PREFIX + "/polygon/findAll" |
| | | client := NewClient() |
| | | |
| | | body, err := client.DoGetRequest(url, nil, nil) |
| | | if err != nil { |
| | | return nil |
| | | } |
| | | |
| | | var res Result |
| | | if err = json.Unmarshal(body, &res); err != nil { |
| | | return nil |
| | | } |
| | | dataBytes, _ := json.Marshal(res.Data) |
| | | if err := json.Unmarshal(dataBytes, &polygons);err !=nil { |
| | | return nil |
| | | } |
| | | |
| | | return polygons |
| | | } |
| | | |
| | | func (api CameraApi) FindPolygonsByCameraId(cameraId string) (bool,interface{}) { |
| | | url := api.getBasicUrl() + DATA_URL_PREFIX + "/polygon/findByCameraId" |
| | | client := NewClient() |
| | | paramQuery := make(map[string]string,0) |
| | | paramQuery["cameraId"] = cameraId |
| | | body, err := client.DoGetRequest(url, paramQuery, nil) |
| | | if err != nil { |
| | | return false,nil |
| | | } |
| | | |
| | | var res Result |
| | | if err = json.Unmarshal(body, &res); err != nil { |
| | | return false,nil |
| | | } |
| | | return true,res.Data |
| | | } |
| | | |
| | | //新增或更新时间规则 |
| | | func (api CameraApi) SaveCameraTimerule(paramBody map[string]interface{}) (bool,interface{}) { |
| | | url := api.getBasicUrl() + DATA_URL_PREFIX + "/cameraTimerule/save" |
| | | client := NewClient() |
| | | body,err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody,nil,nil) |
| | | if err != nil { |
| | | return false,nil |
| | | } |
| | | |
| | | var res Result |
| | | if err = json.Unmarshal(body, &res); err != nil { |
| | | fmt.Println(err) |
| | | return false,nil |
| | | } |
| | | |
| | | return res.Success,res.Data |
| | | } |
| | | |
| | | func (api CameraApi) DeleteCameraTimerule (id string) bool { |
| | | url := api.getBasicUrl() + DATA_URL_PREFIX + "/cameraTimerule/delete" |
| | | client := NewClient() |
| | | paramQuery := make(map[string]string,0) |
| | | paramQuery["id"]=id |
| | | body, err := client.DoGetRequest(url, paramQuery, nil) |
| | | if err != nil { |
| | | return false |
| | | } |
| | | |
| | | var res Result |
| | | if err = json.Unmarshal(body, &res); err != nil { |
| | | return false |
| | | } |
| | | return res.Success |
| | | } |
| | | |
| | | //根据摄像机id查找所有的时间规则 |
| | | func (api CameraApi) FindAllTimeRules() (flag bool,rules []protomsg.CameraTimerule) { |
| | | url := api.getBasicUrl() + DATA_URL_PREFIX + "/cameraTimerule/findAll" |
| | | client := NewClient() |
| | | body, err := client.DoGetRequest(url, nil, nil) |
| | | if err != nil { |
| | | return false,nil |
| | | } |
| | | |
| | | var res Result |
| | | if err = json.Unmarshal(body, &res); err != nil { |
| | | return false,nil |
| | | } |
| | | dataBytes, _ := json.Marshal(res.Data) |
| | | if err := json.Unmarshal(dataBytes, &rules);err !=nil { |
| | | return false,nil |
| | | } |
| | | return true,rules |
| | | } |
| | | |
| | | func (api CameraApi) UpdateDefenceStateByPolygonId(polygonId string,state string) (bool,interface{}){ |
| | | url := api.getBasicUrl() + DATA_URL_PREFIX + "/polygon/updateDefenceStateByPolygonId" |
| | | client := NewClient() |
| | | paramQuery :=make(map[string]string,0) |
| | | paramQuery["polygonId"] = polygonId |
| | | paramQuery["defence_state"]=state |
| | | body, err := client.DoGetRequest(url, paramQuery, nil) |
| | | if err != nil { |
| | | return false,nil |
| | | } |
| | | |
| | | var res Result |
| | | if err = json.Unmarshal(body, &res); err != nil { |
| | | return false,nil |
| | | } |
| | | return true,res.Data |
| | | } |
| | | |
| | | func (api CameraApi) UpdateDefenceStateByCameraId(cameraId string,state string) (bool,interface{}){ |
| | | url := api.getBasicUrl() + DATA_URL_PREFIX + "/polygon/updateDefenceStateByCameraId" |
| | | client := NewClient() |
| | | paramQuery :=make(map[string]string,0) |
| | | paramQuery["cameraId"] = cameraId |
| | | paramQuery["defence_state"]=state |
| | | body, err := client.DoGetRequest(url, paramQuery, nil) |
| | | if err != nil { |
| | | return false,nil |
| | | } |
| | | |
| | | var res Result |
| | | if err = json.Unmarshal(body, &res); err != nil { |
| | | return false,nil |
| | | } |
| | | return true,res.Data |
| | | } |
| | | |
| | | //根据运行类型获取摄像机列表 |
| | | //runType(0:获取轮询列表,1:获取实时列表) |
| | | func (api CameraApi) GetCamerasByRunType(runType int,cameraName string)(flag bool,cameras []protomsg.Camera){ |
| | | url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/getCamerasByRunType" |
| | | client := NewClient() |
| | | paramQuery := make(map[string]string,2) |
| | | paramQuery["runType"]=strconv.Itoa(runType) |
| | | paramQuery["cameraName"] = cameraName |
| | | body, err := client.DoGetRequest(url, paramQuery, nil) |
| | | if err != nil { |
| | | return false,nil |
| | | } |
| | | |
| | | var res Result |
| | | if err = json.Unmarshal(body, &res); err != nil { |
| | | return false,nil |
| | | } |
| | | b, err := json.Marshal(res.Data) |
| | | if err !=nil { |
| | | fmt.Println("unmarshal GetCamerasByRunType.result err") |
| | | return false,nil |
| | | } |
| | | if err = json.Unmarshal(b, &cameras);err !=nil { |
| | | return false,nil |
| | | } else { |
| | | return true,cameras |
| | | } |
| | | } |
| | | |
| | | func (api CameraApi) UpdateRunEnable(cameraId string,runEnable bool) (bool,interface{}){ |
| | | url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/updateRunEnable" |
| | | client := NewClient() |
| | | paramBody :=make(map[string]interface{},0) |
| | | paramBody["cameraId"] = cameraId |
| | | paramBody["runEnable"] = runEnable |
| | | body,err := client.DoPostRequest(url,CONTENT_TYPE_FORM, paramBody,nil,nil) |
| | | if err != nil { |
| | | return false,nil |
| | | } |
| | | |
| | | var res Result |
| | | if err = json.Unmarshal(body, &res); err != nil { |
| | | fmt.Println(err) |
| | | return false,nil |
| | | } |
| | | |
| | | return res.Success,res.Data |
| | | } |
| | | |
| | | func (api CameraApi) UpdateIsRunningState(cameraId string,isRunning bool) (bool,interface{}){ |
| | | url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/updateIsRunningState" |
| | | client := NewClient() |
| | | paramBody :=make(map[string]interface{},0) |
| | | paramBody["cameraId"] = cameraId |
| | | paramBody["isRunning"] = isRunning |
| | | body,err := client.DoPostRequest(url,CONTENT_TYPE_FORM, paramBody,nil,nil) |
| | | if err != nil { |
| | | return false,nil |
| | | } |
| | | |
| | | var res Result |
| | | if err = json.Unmarshal(body, &res); err != nil { |
| | | fmt.Println(err) |
| | | return false,nil |
| | | } |
| | | |
| | | return res.Success,res.Data |
| | | } |
| | | |
| | | //批量切换摄像机轮询或实时状态 |
| | | func (api CameraApi) ChangeRunType(paramBody map[string]interface{}) (bool,interface{}){ |
| | | url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/changeRunType" |
| | | client := NewClient() |
| | | body,err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody,nil,nil) |
| | | if err != nil { |
| | | return false,nil |
| | | } |
| | | |
| | | var res Result |
| | | if err = json.Unmarshal(body, &res); err != nil { |
| | | fmt.Println(err) |
| | | return false,nil |
| | | } |
| | | |
| | | return res.Success,res.Data |
| | | } |
| | | |
| | | func (api CameraApi) StatisticRunInfo() (bool,interface{}){ |
| | | url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/statisticRunInfo" |
| | | client := NewClient() |
| | | body, err := client.DoGetRequest(url, nil, nil) |
| | | if err != nil { |
| | | return false,nil |
| | | } |
| | | |
| | | var res Result |
| | | if err = json.Unmarshal(body, &res); err != nil { |
| | | return false,nil |
| | | } |
| | | return true,res.Data |
| | | } |
| | | |
| | | func (api CameraApi) FindAllCameraLink() (bool,interface{}){ |
| | | url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/findAllCameraLink" |
| | | client := NewClient() |
| | | body, err := client.DoGetRequest(url, nil, nil) |
| | | if err != nil { |
| | | return false,nil |
| | | } |
| | | |
| | | var res Result |
| | | if err = json.Unmarshal(body, &res); err != nil { |
| | | return false,nil |
| | | } |
| | | return true,res.Data |
| | | } |