From 340db27a81cb13dc39bd754fb2f70440b54f0e32 Mon Sep 17 00:00:00 2001
From: liuxiaolong <liuxiaolong@aiotlink.com>
Date: 星期四, 17 十二月 2020 14:06:58 +0800
Subject: [PATCH] 添加CameraGroupApi.go

---
 cameraApi.go |  377 ++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 341 insertions(+), 36 deletions(-)

diff --git a/cameraApi.go b/cameraApi.go
index c5c9a4b..5321e00 100644
--- a/cameraApi.go
+++ b/cameraApi.go
@@ -3,43 +3,79 @@
 import (
 	"basic.com/pubsub/protomsg.git"
 	"encoding/json"
-	"fmt"
+	"strconv"
 )
 
-type CameraApi struct{}
+type CameraApi struct{
+	Ip string
+	Port int
+}
 
-func (api CameraApi) CameraAdd(paramBody map[string]interface{}) bool {
-	url := BASIC_URL + DATA_URL_PREFIX + "/camera/add"
+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.DoPostRequest(url,CONTENT_TYPE_JSON,paramBody,nil,nil)
 	if err != nil {
-		return false
+		return false,nil
 	}
 
 	var res Result
 	if err = json.Unmarshal(body, &res); err != nil {
-		return false
+		return false,nil
 	}
-	return res.Success
+	return res.Success,res.Data
 }
 
-func (api CameraApi) CameraUpdate(paramBody map[string]interface{}) bool {
-	url := BASIC_URL + DATA_URL_PREFIX + "/camera/update"
+func (api CameraApi) CameraUpdate(paramBody map[string]interface{}) (bool,interface{}) {
+	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, err
+	}
+
+	var res Result
+	if err = json.Unmarshal(body, &res); err != nil {
+		return false, err
+	}
+	return res.Success, res.Data
+}
+
+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 {
+		logPrint(err)
 		return false
 	}
+
 	return res.Success
 }
 
 func (api CameraApi) CameraDelete(cid string) bool {
-	url := BASIC_URL + DATA_URL_PREFIX + "/camera/delete/"+cid
+	url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/del/"+cid
 	client := NewClient()
 	paramMap := make(map[string]string,0)
 	paramMap["cid"] = cid
@@ -57,7 +93,7 @@
 
 //閫氳繃cameraId鑾峰彇鎽勫儚鏈轰俊鎭�
 func (api CameraApi) GetCameraById(cameraId string) (camera protomsg.Camera, err error) {
-	url := BASIC_URL + DATA_URL_PREFIX + "/camera/show/" + cameraId
+	url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/show/" + cameraId
 	client := NewClient()
 
 	body, err := client.DoGetRequest(url, nil, nil)
@@ -76,8 +112,28 @@
 	return camera, err
 }
 
+func (api CameraApi) UpdateCameraArea(cameraId string, areaId string) bool {
+    url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/updateCameraArea"
+    client := NewClient()
+    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() (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)
@@ -87,7 +143,7 @@
 
 	var res Result
 	if err = json.Unmarshal(body, &res); err != nil {
-		fmt.Println(err)
+		logPrint(err)
 		return nil
 	}
 
@@ -97,30 +153,68 @@
 	return cameras
 }
 
-//鑾峰彇鎵�鏈夋憚鍍忔満鐨勪俊鎭互鍙婂叾鎵�鏈変换鍔�
-func (api CameraApi) FindAllCameraAndTask() (cameraTasks []protomsg.CameraAndTaskInfo){
-	url := BASIC_URL + DATA_URL_PREFIX + "/camera/queryCameraAndTaskInfo"
+func (api CameraApi) GetAllCamerasByServer(serverId string,cameraName string) (bool,interface{}) {
+	url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/getAllCamerasByServer"
 	client := NewClient()
-
-	body, err := client.DoGetRequest(url, nil, nil)
+	paramQuery := make(map[string]string,0)
+	paramQuery["serverId"] = serverId
+	paramQuery["cameraName"] = cameraName
+	body, err := client.DoGetRequest(url, paramQuery, nil)
 	if err != nil {
-		return nil
+		return false,nil
 	}
 
 	var res Result
 	if err = json.Unmarshal(body, &res); err != nil {
-		fmt.Println(err)
-		return nil
+		return false,nil
 	}
 
-	bytes, _ := json.Marshal(res.Data)
-	err = json.Unmarshal(bytes, &cameraTasks)
-
-	return cameraTasks
+	return res.Success,res.Data
 }
 
+func (api CameraApi) GetNodeCamera(searchType string,cameraName string) (bool,interface{}) {
+	url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/nodeCamera"
+	client := NewClient()
+	paramQuery := make(map[string]string,0)
+	paramQuery["searchType"] = searchType
+	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 := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/queryCameraAndTaskInfo"
+//	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 {
+//		logPrint(err)
+//		return nil
+//	}
+//
+//	bytes, _ := json.Marshal(res.Data)
+//	err = json.Unmarshal(bytes, &cameraTasks)
+//
+//	return cameraTasks
+//}
+
 func (api CameraApi) SaveCameraPolygon(paramBody map[string]interface{}) (bool,interface{}) {
-	url := BASIC_URL + DATA_URL_PREFIX + "/polygon/save"
+	url := api.getBasicUrl() + DATA_URL_PREFIX + "/polygon/save"
 	client := NewClient()
 	body,err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody,nil,nil)
 	if err != nil {
@@ -129,7 +223,7 @@
 
 	var res Result
 	if err = json.Unmarshal(body, &res); err != nil {
-		fmt.Println(err)
+		logPrint(err)
 		return false,nil
 	}
 
@@ -137,7 +231,7 @@
 }
 
 func (api CameraApi) DeleteCameraPolygon(id string) (bool,interface{}){
-	url := BASIC_URL + DATA_URL_PREFIX + "/polygon/delete"
+	url := api.getBasicUrl() + DATA_URL_PREFIX + "/polygon/delete"
 	client := NewClient()
 	paramQuery := make(map[string]string,0)
 	paramQuery["id"]=id
@@ -155,7 +249,7 @@
 
 func (api CameraApi) FindAllPolygons() ([]protomsg.CameraPolygon) {
 	polygons := make([]protomsg.CameraPolygon,0)
-	url := BASIC_URL + DATA_URL_PREFIX + "/polygon/findAll"
+	url := api.getBasicUrl() + DATA_URL_PREFIX + "/polygon/findAll"
 	client := NewClient()
 
 	body, err := client.DoGetRequest(url, nil, nil)
@@ -176,7 +270,7 @@
 }
 
 func (api CameraApi) FindPolygonsByCameraId(cameraId string) (bool,interface{}) {
-	url := BASIC_URL + DATA_URL_PREFIX + "/polygon/findByCameraId"
+	url := api.getBasicUrl() + DATA_URL_PREFIX + "/polygon/findByCameraId"
 	client := NewClient()
 	paramQuery := make(map[string]string,0)
 	paramQuery["cameraId"] = cameraId
@@ -194,7 +288,7 @@
 
 //鏂板鎴栨洿鏂版椂闂磋鍒�
 func (api CameraApi) SaveCameraTimerule(paramBody map[string]interface{}) (bool,interface{}) {
-	url := BASIC_URL + DATA_URL_PREFIX + "/cameraTimerule/save"
+	url := api.getBasicUrl() + DATA_URL_PREFIX + "/cameraTimerule/save"
 	client := NewClient()
 	body,err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody,nil,nil)
 	if err != nil {
@@ -203,7 +297,7 @@
 
 	var res Result
 	if err = json.Unmarshal(body, &res); err != nil {
-		fmt.Println(err)
+		logPrint(err)
 		return false,nil
 	}
 
@@ -211,7 +305,7 @@
 }
 
 func (api CameraApi) DeleteCameraTimerule (id string) bool {
-	url := BASIC_URL + DATA_URL_PREFIX + "/cameraTimerule/delete"
+	url := api.getBasicUrl() + DATA_URL_PREFIX + "/cameraTimerule/delete"
 	client := NewClient()
 	paramQuery := make(map[string]string,0)
 	paramQuery["id"]=id
@@ -229,7 +323,7 @@
 
 //鏍规嵁鎽勫儚鏈篿d鏌ユ壘鎵�鏈夌殑鏃堕棿瑙勫垯
 func (api CameraApi) FindAllTimeRules() (flag bool,rules []protomsg.CameraTimerule) {
-	url := BASIC_URL + DATA_URL_PREFIX + "/cameraTimerule/findAll"
+	url := api.getBasicUrl() + DATA_URL_PREFIX + "/cameraTimerule/findAll"
 	client := NewClient()
 	body, err := client.DoGetRequest(url, nil, nil)
 	if err != nil {
@@ -248,7 +342,7 @@
 }
 
 func (api CameraApi) UpdateDefenceStateByPolygonId(polygonId string,state string) (bool,interface{}){
-	url := BASIC_URL + DATA_URL_PREFIX + "/polygon/updateDefenceStateByPolygonId"
+	url := api.getBasicUrl() + DATA_URL_PREFIX + "/polygon/updateDefenceStateByPolygonId"
 	client := NewClient()
 	paramQuery :=make(map[string]string,0)
 	paramQuery["polygonId"] = polygonId
@@ -266,7 +360,7 @@
 }
 
 func (api CameraApi) UpdateDefenceStateByCameraId(cameraId string,state string) (bool,interface{}){
-	url := BASIC_URL + DATA_URL_PREFIX + "/polygon/updateDefenceStateByCameraId"
+	url := api.getBasicUrl() + DATA_URL_PREFIX + "/polygon/updateDefenceStateByCameraId"
 	client := NewClient()
 	paramQuery :=make(map[string]string,0)
 	paramQuery["cameraId"] = cameraId
@@ -281,4 +375,215 @@
 		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 {
+		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 := 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 {
+		logPrint(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 {
+		logPrint(err)
+		return false,nil
+	}
+
+	return res.Success,res.Data
+}
+
+func (api CameraApi) UpdateIsRunningAll(cameraIds []string) (bool,interface{}){
+	url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/updateIsRunningAll"
+	client := NewClient()
+	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 := 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 {
+		logPrint(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() (b bool,list []protomsg.CameraLink){
+	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
+	}
+	dataBytes, _ := json.Marshal(res.Data)
+	if err := json.Unmarshal(dataBytes, &list);err !=nil {
+		return false,nil
+	}
+	return true,list
+}
+
+
+func (api CameraApi) FindOnMap(paramBody map[string]interface{}) (bool,interface{}){
+	url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/findOnMap"
+	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 {
+		logPrint(err)
+		return false,nil
+	}
+
+	return res.Success,res.Data
+}
+
+func (api CameraApi) UpdatePos(paramBody map[string]interface{}) (bool,interface{}){
+	url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/updatePos"
+	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 {
+		logPrint(err)
+		return false,nil
+	}
+
+	return res.Success,res.Data
+}
+
+func (api CameraApi) GetCoord(cameraId string) (bool,interface{}){
+	url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/coord"
+	client := NewClient()
+	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,interface{}){
+	url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/updateCoord"
+	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 {
+		logPrint(err)
+		return false,nil
+	}
+
+	return res.Success,res.Data
 }
\ No newline at end of file

--
Gitblit v1.8.0