From 5771cbc3e33934b5987e83fce08b0eed5df15652 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期四, 27 六月 2019 14:47:30 +0800
Subject: [PATCH] changeRunType add multi cameras

---
 cameraApi.go |  282 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 271 insertions(+), 11 deletions(-)

diff --git a/cameraApi.go b/cameraApi.go
index e7ff5e4..2ddcaad 100644
--- a/cameraApi.go
+++ b/cameraApi.go
@@ -4,17 +4,47 @@
 	"basic.com/pubsub/protomsg.git"
 	"encoding/json"
 	"fmt"
+	"strconv"
 )
 
 type CameraApi struct{}
 
-func (api CameraApi) CameraAdd(camera protomsg.Camera) bool {
+func (api CameraApi) CameraAdd(paramBody map[string]interface{}) bool {
 	url := BASIC_URL + DATA_URL_PREFIX + "/camera/add"
 	client := NewClient()
-	bodyParam := make(map[string]interface{},0)
-	bodyParam["name"]=camera.Name
-	bodyParam["areaid"] = camera.Areaid
-	body, err := client.DoPostRequest(url,CONTENT_TYPE_JSON,bodyParam,nil,nil)
+	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 {
+		return false
+	}
+	return res.Success
+}
+
+func (api CameraApi) CameraUpdate(paramBody map[string]interface{}) bool {
+	url := BASIC_URL + 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) CameraDelete(cid string) bool {
+	url := BASIC_URL + DATA_URL_PREFIX + "/camera/delete/"+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
 	}
@@ -27,25 +57,24 @@
 }
 
 //閫氳繃cameraId鑾峰彇鎽勫儚鏈轰俊鎭�
-func (api CameraApi) GetCameraById(cameraId string) (result protomsg.Camera, err error) {
+func (api CameraApi) GetCameraById(cameraId string) (camera protomsg.Camera, err error) {
 	url := BASIC_URL + DATA_URL_PREFIX + "/camera/show/" + cameraId
 	client := NewClient()
 
 	body, err := client.DoGetRequest(url, nil, nil)
 	if err != nil {
-		return result, err
+		return camera, err
 	}
 
 	var res Result
 	if err = json.Unmarshal(body, &res); err != nil {
-		fmt.Println(err)
-		return result,err
+		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) {
@@ -89,4 +118,235 @@
 	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"
+	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 := BASIC_URL + 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 := BASIC_URL + 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 := BASIC_URL + 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 := BASIC_URL + 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 := BASIC_URL + 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 := BASIC_URL + 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 := BASIC_URL + 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 := BASIC_URL + 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 := BASIC_URL + DATA_URL_PREFIX + "/camera/getCamerasByRunType"
+	client := NewClient()
+	paramQuery := make(map[string]string,0)
+	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 := BASIC_URL + 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) ChangeRunType(paramBody map[string]interface{}) (bool,interface{}){
+	url := BASIC_URL + 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
 }
\ No newline at end of file

--
Gitblit v1.8.0