package bhomedbapi
|
|
import (
|
"basic.com/pubsub/protomsg.git"
|
json "github.com/json-iterator/go"
|
"strconv"
|
)
|
|
type CameraApi struct{
|
|
}
|
|
func (api CameraApi) CameraAdd(paramBody map[string]interface{}) (bool,interface{}) {
|
url := DATA_URL_PREFIX + "/camera/add"
|
netNode := getNetNode(url2Topic(Topic_Camera_Service, url))
|
client := NewClient(WithNodes(netNode))
|
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 {
|
return false,nil
|
}
|
return res.Success,res.Data
|
}
|
|
func (api CameraApi) CameraUpdate(paramBody map[string]interface{}) bool {
|
url := DATA_URL_PREFIX + "/camera/update"
|
netNode := getNetNode(url2Topic(Topic_Camera_Service, url))
|
client := NewClient(WithNodes(netNode))
|
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 := DATA_URL_PREFIX + "/camera/updateSnapshot"
|
netNode := getNetNode(url2Topic(Topic_Camera_Service, url))
|
client := NewClient(WithNodes(netNode))
|
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 {
|
logPrint(err)
|
return false
|
}
|
|
return res.Success
|
}
|
|
func (api CameraApi) CameraDelete(cid string) bool {
|
url := DATA_URL_PREFIX + "/camera/del"
|
netNode := getNetNode(url2Topic(Topic_Camera_Service, url))
|
client := NewClient(WithNodes(netNode))
|
paramMap := make(map[string]string,0)
|
paramMap["id"] = cid
|
body, err := client.DoGetRequest(url,paramMap,nil)
|
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 := DATA_URL_PREFIX + "/camera/show"
|
netNode := getNetNode(url2Topic(Topic_Camera_Service, url))
|
client := NewClient(WithNodes(netNode))
|
paramQuery := map[string]string {
|
"id": cameraId,
|
}
|
body, err := client.DoGetRequest(url, paramQuery, 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, &camera)
|
|
return camera, err
|
}
|
|
func (api CameraApi) UpdateCameraArea(cameraId string, areaId string) bool {
|
url := DATA_URL_PREFIX + "/camera/updateCameraArea"
|
netNode := getNetNode(url2Topic(Topic_Camera_Service, url))
|
client := NewClient(WithNodes(netNode))
|
paramBody := map[string]interface{} {
|
"cameraId": cameraId,
|
"areaId": areaId,
|
}
|
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 {
|
return false
|
}
|
|
return res.Success
|
}
|
|
func (api CameraApi) FindAll(cameraName string, runType string, cameraId string, areaId string) (cameras []protomsg.Camera) {
|
url := DATA_URL_PREFIX + "/camera/showAll"
|
netNode := getNetNode(url2Topic(Topic_Camera_Service, url))
|
client := NewClient(WithNodes(netNode))
|
paramQuery := map[string]string {
|
"cameraName": cameraName,
|
"runType": runType,
|
"cameraId": cameraId,
|
"areaId": areaId,
|
}
|
|
body, err := client.DoGetRequest(url, paramQuery, nil)
|
if err != nil {
|
return nil
|
}
|
|
var res Result
|
if err = json.Unmarshal(body, &res); err != nil {
|
logPrint(err)
|
return nil
|
}
|
|
bytes, _ := json.Marshal(res.Data)
|
err = json.Unmarshal(bytes, &cameras)
|
|
return cameras
|
}
|
|
func (api CameraApi) GetAllCamerasByServer(serverId string,cameraName string) (b bool,cams []protomsg.Camera) {
|
url := DATA_URL_PREFIX + "/camera/getAllCamerasByServer"
|
netNode := getNetNode(url2Topic(Topic_Camera_Service, url))
|
client := NewClient(WithNodes(netNode))
|
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
|
}
|
dataBytes, _ := json.Marshal(res.Data)
|
if err := json.Unmarshal(dataBytes, &cams);err !=nil {
|
return false,nil
|
}
|
return res.Success,cams
|
}
|
|
////获取所有摄像机的信息以及其所有任务
|
//func (api CameraApi) FindAllCameraAndTask() (cameraTasks []protomsg.CameraAndTaskInfo){
|
// url := DATA_URL_PREFIX + "/camera/queryCameraAndTaskInfo"
|
// client := NewClient(WithPort(api.Port))
|
//
|
// body, err := client.DoGetRequest(url, nil, nil)
|
// if err != nil {
|
// return nil
|
// }
|
//
|
// var res Result
|
// if err = json.Unmarshal(body, &res); err != nil {
|
// logPrint(err)
|
// return nil
|
// }
|
//
|
// bytes, _ := json.Marshal(res.Data)
|
// err = json.Unmarshal(bytes, &cameraTasks)
|
//
|
// return cameraTasks
|
//}
|
|
//根据运行类型获取摄像机列表
|
//runType(0:获取轮询列表,1:获取实时列表)
|
func (api CameraApi) GetCamerasByRunType(runType int,cameraName string)(flag bool,cameras []protomsg.Camera){
|
url := DATA_URL_PREFIX + "/camera/getCamerasByRunType"
|
netNode := getNetNode(url2Topic(Topic_Camera_Service, url))
|
client := NewClient(WithNodes(netNode))
|
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 {
|
logPrint("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 := DATA_URL_PREFIX + "/camera/updateRunEnable"
|
netNode := getNetNode(url2Topic(Topic_Camera_Service, url))
|
client := NewClient(WithNodes(netNode))
|
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 {
|
logPrint(err)
|
return false,nil
|
}
|
|
return res.Success,res.Data
|
}
|
|
func (api CameraApi) UpdateIsRunningState(cameraId string,isRunning bool) (bool,interface{}){
|
url := DATA_URL_PREFIX + "/camera/updateIsRunningState"
|
netNode := getNetNode(url2Topic(Topic_Camera_Service, url))
|
client := NewClient(WithNodes(netNode))
|
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 {
|
logPrint(err)
|
return false,nil
|
}
|
|
return res.Success,res.Data
|
}
|
|
func (api CameraApi) UpdateIsRunningAll(cameraIds []string) (bool,interface{}){
|
url := DATA_URL_PREFIX + "/camera/updateIsRunningAll"
|
netNode := getNetNode(url2Topic(Topic_Camera_Service, url))
|
client := NewClient(WithNodes(netNode))
|
paramBody :=make(map[string]interface{},0)
|
paramBody["cameraIds"] = cameraIds
|
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 {
|
logPrint(err)
|
return false,nil
|
}
|
|
return res.Success,res.Data
|
}
|
|
//批量切换摄像机轮询或实时状态
|
func (api CameraApi) ChangeRunType(paramBody map[string]interface{}) (bool,interface{}){
|
url := DATA_URL_PREFIX + "/camera/changeRunType"
|
netNode := getNetNode(url2Topic(Topic_Camera_Service, url))
|
client := NewClient(WithNodes(netNode))
|
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 {
|
logPrint(err)
|
return false,nil
|
}
|
|
return res.Success,res.Data
|
}
|
|
func (api CameraApi) StatisticRunInfo() (bool,interface{}){
|
url := DATA_URL_PREFIX + "/camera/statisticRunInfo"
|
netNode := getNetNode(url2Topic(Topic_Camera_Service, url))
|
client := NewClient(WithNodes(netNode))
|
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() (b bool,list []protomsg.CameraLink){
|
url := DATA_URL_PREFIX + "/camera/findAllCameraLink"
|
netNode := getNetNode(url2Topic(Topic_Camera_Service, url))
|
client := NewClient(WithNodes(netNode))
|
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, &list);err !=nil {
|
return false,nil
|
}
|
return true,list
|
}
|
|
func (api CameraApi) FindOnMap(isOnMap bool, floor int, cameraName string) (b bool, cams []protomsg.Camera) {
|
url := DATA_URL_PREFIX + "/camera/findOnMap"
|
netNode := getNetNode(url2Topic(Topic_Camera_Service, url))
|
client := NewClient(WithNodes(netNode))
|
paramBody:= map[string]interface{}{
|
"isOnMap": isOnMap,
|
"floor": floor,
|
"cameraName": cameraName,
|
}
|
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 {
|
logPrint(err)
|
return false,nil
|
}
|
if res.Success {
|
if bts, e := json.Marshal(res.Data);e == nil {
|
if e = json.Unmarshal(bts, &cams);e ==nil {
|
return true, cams
|
}
|
}
|
}
|
return false,nil
|
}
|
|
func (api CameraApi) UpdatePos(id string, floor int, longitude float32, latitude float32) bool {
|
url := DATA_URL_PREFIX + "/camera/updatePos"
|
netNode := getNetNode(url2Topic(Topic_Camera_Service, url))
|
client := NewClient(WithNodes(netNode))
|
paramBody:= map[string]interface{}{
|
"id": id,
|
"floor": floor,
|
"longitude": longitude,
|
"latitude": latitude,
|
}
|
body,err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody,nil,nil)
|
if err != nil {
|
return false
|
}
|
|
var res Result
|
if err = json.Unmarshal(body, &res); err != nil {
|
logPrint(err)
|
return false
|
}
|
|
return res.Success
|
}
|
|
func (api CameraApi) NodeCamera() (bool, interface{}) {
|
url := DATA_URL_PREFIX + "/camera/nodeCamera"
|
netNode := getNetNode(url2Topic(Topic_Camera_Service, url))
|
client := NewClient(WithNodes(netNode))
|
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 res.Success, res.Data
|
}
|
|
func (api CameraApi) Coord(cameraId string) (bool, interface{}) {
|
url := DATA_URL_PREFIX + "/camera/coord"
|
netNode := getNetNode(url2Topic(Topic_Camera_Service, url))
|
client := NewClient(WithNodes(netNode))
|
paramQuery := map[string]string {
|
"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 res.Success, res.Data
|
}
|
|
func (api CameraApi) UpdateCoord(paramBody map[string]interface{}) bool {
|
url := DATA_URL_PREFIX + "/camera/updateCoord"
|
netNode := getNetNode(url2Topic(Topic_Camera_Service, url))
|
client := NewClient(WithNodes(netNode))
|
body,err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody,nil,nil)
|
if err != nil {
|
return false
|
}
|
|
var res Result
|
if err = json.Unmarshal(body, &res); err != nil {
|
logPrint(err)
|
return false
|
}
|
|
return res.Success
|
}
|
|
func (api CameraApi) SaveNotExistOrUpdate(paramBody map[string]interface{}) bool {
|
url := DATA_URL_PREFIX + "/camera/saveNotExistOrUpdate"
|
netNode := getNetNode(url2Topic(Topic_Camera_Service, url))
|
client := NewClient(WithNodes(netNode))
|
body,err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody,nil,nil)
|
if err != nil {
|
return false
|
}
|
|
var res Result
|
if err = json.Unmarshal(body, &res); err != nil {
|
logPrint(err)
|
return false
|
}
|
|
return res.Success
|
}
|