From a260203541b44e81de619ea5cc1ec46da0280342 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期三, 06 十一月 2019 11:05:19 +0800
Subject: [PATCH] fix getDevInfo

---
 cameraApi.go |  393 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 380 insertions(+), 13 deletions(-)

diff --git a/cameraApi.go b/cameraApi.go
index 17bee01..719f185 100644
--- a/cameraApi.go
+++ b/cameraApi.go
@@ -4,35 +4,117 @@
 	"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)
@@ -52,9 +134,28 @@
 	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)
@@ -72,4 +173,270 @@
 	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
+}
+
+//鏍规嵁鎽勫儚鏈篿d鏌ユ壘鎵�鏈夌殑鏃堕棿瑙勫垯
+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
 }
\ No newline at end of file

--
Gitblit v1.8.0