From beaadf6542921ea13153e8a90706955b7800e9c9 Mon Sep 17 00:00:00 2001
From: chenshijun <csj_sky@126.com>
Date: 星期三, 24 七月 2019 14:07:21 +0800
Subject: [PATCH] 增加行政区域的接口

---
 gb28181Api.go |  111 ++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 92 insertions(+), 19 deletions(-)

diff --git a/gb28181Api.go b/gb28181Api.go
index 4093c7b..7b0ad94 100644
--- a/gb28181Api.go
+++ b/gb28181Api.go
@@ -4,6 +4,7 @@
 	"bytes"
 	"encoding/json"
 	"fmt"
+	"log"
 	"strconv"
 )
 
@@ -42,12 +43,12 @@
 	var res GbResult
 	// fmt.Println("body", string(body))
 	if err = json.Unmarshal(body, &res); err != nil {
-		fmt.Println("jsonErr:", err)
+		log.Println("jsonErr:", err)
 		return false
 	}
 
 	if res.ErrCode != 0 {
-		fmt.Println("errcode: ", res.ErrCode, " errdesc: ", res.ErrDesc)
+		log.Println("errcode: ", res.ErrCode, " errdesc: ", res.ErrDesc)
 		return false
 	}
 
@@ -67,18 +68,18 @@
 	var info GbServerInfo
 	body, err := client.DoGetRequest(url, nil, nil)
 	if err != nil {
-		fmt.Println("err:", err)
+		log.Println("err:", err)
 		return info, false
 	}
 
 	//瑙f瀽retGbServerInfo
 	var res retGbServerInfo
 	if err = json.Unmarshal(body, &res); err != nil {
-		fmt.Println("jsonErr:", err)
+		log.Println("jsonErr:", err)
 		return info, false
 	}
 	if res.ErrCode != 0 {
-		fmt.Println("errcode: ", res.ErrCode, " errdesc: ", res.ErrDesc)
+		log.Println("errcode: ", res.ErrCode, " errdesc: ", res.ErrDesc)
 		return info, false
 	}
 
@@ -94,17 +95,17 @@
 	var devicesPerPage DevicesInOnePage
 	body, err := client.DoGetRequest(url, nil, nil)
 	if err != nil {
-		fmt.Println("err:", err)
+		log.Println("err:", err)
 		return devicesPerPage, false
 	}
 
 	//瑙f瀽 DevicesInOnePage
 	if err = json.Unmarshal(body, &devicesPerPage); err != nil {
-		fmt.Println("jsonErr:", err)
+		log.Println("jsonErr:", err)
 		return devicesPerPage, false
 	}
 	if devicesPerPage.ErrCode != 0 {
-		fmt.Println("errcode: ", devicesPerPage.ErrCode, " errdesc: ", devicesPerPage.ErrDesc)
+		log.Println("errcode: ", devicesPerPage.ErrCode, " errdesc: ", devicesPerPage.ErrDesc)
 		return devicesPerPage, false
 	}
 
@@ -116,7 +117,7 @@
 	var deviceSlice []DeviceInfo
 	devicesPerPage, flag := api.GetDevicesByPageNO(1)
 	if !flag {
-		fmt.Println("GetDevicesByPageNO Error, deviceSlice is nil")
+		log.Println("GetDevicesByPageNO Error, deviceSlice is nil")
 		return deviceSlice, false
 	}
 	deviceSlice = devicesPerPage.Data
@@ -124,7 +125,7 @@
 	for i := 1; i < devicesPerPage.TotalPage; i++ {
 		devicesPerPage, flag := api.GetDevicesByPageNO(i + 1)
 		if !flag {
-			fmt.Println("GetDevicesByPageNO Error,pageno:" + strconv.Itoa(i+1) + " ,deviceSlice is not completed")
+			log.Println("GetDevicesByPageNO Error,pageno:" + strconv.Itoa(i+1) + " ,deviceSlice is not completed")
 			return deviceSlice, false
 		}
 		deviceSlice = append(deviceSlice, devicesPerPage.Data...)
@@ -145,24 +146,24 @@
 	var camerasPerPage CamerasInOnePage
 	body, err := client.DoGetRequest(url, nil, nil)
 	if err != nil {
-		fmt.Println("err:", err)
+		log.Println("err:", err)
 		return camerasPerPage, false
 	}
 
 	//瑙f瀽 CamerasInOnePage
 	if err = json.Unmarshal(body, &camerasPerPage); err != nil {
-		fmt.Println("jsonErr:", err)
+		log.Println("jsonErr:", err)
 		return camerasPerPage, false
 	}
 	if camerasPerPage.ErrCode != 0 {
-		fmt.Println("errcode: ", camerasPerPage.ErrCode, " errdesc: ", camerasPerPage.ErrDesc)
+		log.Println("errcode: ", camerasPerPage.ErrCode, " errdesc: ", camerasPerPage.ErrDesc)
 		return camerasPerPage, false
 	}
 
 	if len(camerasPerPage.Data) > 0 {
 		for i, v := range camerasPerPage.Data {
 			if v.ResType == 2 {
-				fmt.Println("v.restype == 2")
+				log.Println("v.restype == 2")
 				camerasPerPage.Data = append(camerasPerPage.Data[:i], camerasPerPage.Data[i+1:]...)
 			}
 		}
@@ -177,7 +178,7 @@
 	var cameraSlice []CameraInfo
 	camerasPerPage, flag := api.GetCamsByDevAndPage(devID, "all", 1)
 	if !flag {
-		fmt.Println("GetCamsByDevAndPage Error, deviceSlice is nil")
+		log.Println("GetCamsByDevAndPage Error, deviceSlice is nil")
 		return cameraSlice, false
 	}
 	cameraSlice = camerasPerPage.Data
@@ -185,7 +186,79 @@
 	for i := 1; i < camerasPerPage.TotalPage; i++ {
 		camerasPerPage, flag := api.GetCamsByDevAndPage(devID, "all", i+1)
 		if !flag {
-			fmt.Println("GetCamsByDevAndPage Error! devID:" + devID + ",type:all,pageno:" + strconv.Itoa(i+1) + " ,cameraSlice is not completed")
+			log.Println("GetCamsByDevAndPage Error! devID:" + devID + ",type:all,pageno:" + strconv.Itoa(i+1) + " ,cameraSlice is not completed")
+			return cameraSlice, false
+		}
+		cameraSlice = append(cameraSlice, camerasPerPage.Data...)
+	}
+
+	return cameraSlice, true
+}
+
+//GetAllDomainUnit get all domainunit 鑾峰彇鎵�鏈夎鏀垮尯鍩�
+func (api Gb28181Api) GetAllDomainUnit() ([]DomainUnit, bool) {
+	url := BASIC_URL + DATA_URL_PREFIX + "/get_all_domainunit"
+	client := NewClient()
+
+	var dmUnit DomainUnitInfo
+	body, err := client.DoGetRequest(url, nil, nil)
+	if err != nil {
+		log.Println("err:", err)
+		return dmUnit.Data, false
+	}
+
+	//瑙f瀽 dmUnit
+	if err = json.Unmarshal(body, &dmUnit); err != nil {
+		log.Println("jsonErr:", err)
+		return dmUnit.Data, false
+	}
+	if dmUnit.ErrCode != 0 {
+		log.Println("errcode: ", dmUnit.ErrCode, " errdesc: ", dmUnit.ErrDesc)
+		return dmUnit.Data, false
+	}
+
+	return dmUnit.Data, true
+}
+
+//GetAllCamerasByDomainUnit  get all cameras by domainunit 鑾峰彇鎵�鏈夎鏀垮尯鍩熶笅鐨勮澶�
+func (api Gb28181Api) GetAllCamerasByDomainUnitAndPage(domainpubid string, pageNo int) (CamerasInOnePage, bool) {
+	url := BASIC_URL + DATA_URL_PREFIX + "/get_domainunit_channel/" + domainpubid + "/" + strconv.Itoa(pageNo)
+	client := NewClient()
+
+	var camerasPerPage CamerasInOnePage
+	body, err := client.DoGetRequest(url, nil, nil)
+	if err != nil {
+		log.Println("err:", err)
+		return camerasPerPage, false
+	}
+
+	//瑙f瀽 CamerasInOnePage
+	if err = json.Unmarshal(body, &camerasPerPage); err != nil {
+		log.Println("jsonErr:", err)
+		return camerasPerPage, false
+	}
+	if camerasPerPage.ErrCode != 0 {
+		log.Println("errcode: ", camerasPerPage.ErrCode, " errdesc: ", camerasPerPage.ErrDesc)
+		return camerasPerPage, false
+	}
+
+	return camerasPerPage, true
+}
+
+//GetAllCamerasByDevID 鑾峰彇鎸囧畾琛屾斂鍖哄煙鐨勬憚鍍忔満鍒楄〃
+func (api Gb28181Api) GetAllCamerasByDomainUnit(domainpubid string) ([]CameraInfo, bool) {
+	var cameraSlice []CameraInfo
+	camerasPerPage, flag := api.GetAllCamerasByDomainUnitAndPage(domainpubid, 1)
+	if !flag {
+		log.Println("GetCamsByDevAndPage Error, deviceSlice is nil")
+		return cameraSlice, false
+	}
+	cameraSlice = camerasPerPage.Data
+
+	for i := 1; i < camerasPerPage.TotalPage; i++ {
+		camerasPerPage, flag := api.GetAllCamerasByDomainUnitAndPage(domainpubid, i+1)
+		if !flag {
+			log.Println("GetCamsByDevAndPage Error! devID:" + domainpubid + ",type:all,pageno:" + strconv.Itoa(i+1) + " ,cameraSlice is not completed")
 			return cameraSlice, false
 		}
 		cameraSlice = append(cameraSlice, camerasPerPage.Data...)
@@ -205,18 +278,18 @@
 
 	body, err := client.DoGetRequest(url, nil, nil)
 	if err != nil {
-		fmt.Println("err:", err)
+		log.Println("err:", err)
 		return false
 	}
 
 	//瑙f瀽 CamerasInOnePage
 	var res GbResult
 	if err = json.Unmarshal(body, &res); err != nil {
-		fmt.Println("jsonErr:", err)
+		log.Println("jsonErr:", err)
 		return false
 	}
 	if res.ErrCode != 0 {
-		fmt.Println("errcode: ", res.ErrCode, " errdesc: ", res.ErrDesc)
+		log.Println("errcode: ", res.ErrCode, " errdesc: ", res.ErrDesc)
 		return false
 	}
 

--
Gitblit v1.8.0