huchanghua
2022-07-22 293b6d664512c30d2e6b2ce80487ba6fa16598c3
gb28181Api.go
@@ -3,7 +3,6 @@
import (
   "basic.com/pubsub/protomsg.git"
   "encoding/json"
   "errors"
   "strconv"
)
@@ -14,9 +13,6 @@
//国标配置显示
func (api Gb28181Api) Show() (flag bool,gbConfig protomsg.Gb28181Config) {
   netNode := getNetNode(Topic_Gb28181_Service)
   if netNode == nil {
      return false, gbConfig
   }
   url := DATA_URL_PREFIX + "/gb28181/configShow"
   client := NewClient(WithNodes(netNode))
   respBody, err := client.DoGetRequest(url, nil, nil)
@@ -38,12 +34,9 @@
}
func (api Gb28181Api) Edit(paramBody map[string]interface{}) bool {
   netNode := getNetNode(Topic_Gb28181_Service)
   if netNode == nil {
      return false
   }
   flag := false
   url := DATA_URL_PREFIX + "/gb28181/configEdit"
   netNode := getNetNode(url2Topic(Topic_Gb28181_Service, url))
   flag := false
   client := NewClient(WithNodes(netNode))
   respBody, err := client.DoPostRequest(url, CONTENT_TYPE_FORM, paramBody, nil, nil)
   if err != nil {
@@ -57,11 +50,8 @@
}
func (api Gb28181Api) FindAreaByParentId(parentId string) (bool,interface{}) {
   netNode := getNetNode(Topic_Gb28181_Service)
   if netNode == nil {
      return false, nil
   }
   url := DATA_URL_PREFIX + "/gb28181/findAreaByParentId"
   netNode := getNetNode(url2Topic(Topic_Gb28181_Service,url))
   client := NewClient(WithNodes(netNode))
   paramMap := make(map[string]string, 0)
   paramMap["parentId"] = parentId
@@ -77,11 +67,8 @@
}
func (api Gb28181Api) NewGbId(code string) (bool,interface{}) {
   netNode := getNetNode(Topic_Gb28181_Service)
   if netNode == nil {
      return false, nil
   }
   url := DATA_URL_PREFIX + "/gb28181/newGbId"
   netNode := getNetNode(url2Topic(Topic_Gb28181_Service,url))
   client := NewClient(WithNodes(netNode))
   paramMap := make(map[string]string, 0)
   paramMap["code"] = code
@@ -100,15 +87,12 @@
//searchType(0:全部,1:分析摄像机,2:监控摄像机)
//cameraName(摄像机名称)
func (api Gb28181Api) GetGb28181CameraTree(parentId string, searchType string, cameraName string) []TreeMenu {
   netNode := getNetNode(Topic_Gb28181_Service)
   if netNode == nil {
      return nil
   }
   url := DATA_URL_PREFIX + "/gb28181/tree"
   netNode := getNetNode(url2Topic(Topic_Gb28181_Service,url))
   var result []TreeMenu
   client := NewClient(WithNodes(netNode))
   url := DATA_URL_PREFIX + "/gb28181/gb28181Tree"
   params := make(map[string]string, 0)
   params["parentId"] = parentId
   params["searchType"] = searchType
@@ -133,12 +117,9 @@
//国标树刷新
func (api Gb28181Api) Gb28181TreeRefresh(id string) bool {
   netNode := getNetNode(Topic_Gb28181_Service)
   if netNode == nil {
      return false
   }
   url := DATA_URL_PREFIX + "/gb28181/treeRefresh"
   netNode := getNetNode(url2Topic(Topic_Gb28181_Service, url))
   flag := false
   url := DATA_URL_PREFIX + "/gb28181/gb28181TreeRefresh"
   client := NewClient(WithNodes(netNode))
   paramBody := map[string]interface{}{
      "id":id,
@@ -157,12 +138,9 @@
//国标树删除
func (api Gb28181Api) Gb28181TreeDelete() bool {
   netNode := getNetNode(Topic_Gb28181_Service)
   if netNode == nil {
      return false
   }
   url := DATA_URL_PREFIX + "/gb28181/treeDelete"
   netNode := getNetNode(url2Topic(Topic_Gb28181_Service, url))
   flag := false
   url := DATA_URL_PREFIX + "/gb28181/gb28181TreeDelete"
   client := NewClient(WithNodes(netNode))
   respBody, err := client.DoPostRequest(url, CONTENT_TYPE_FORM, nil, nil, nil)
   if err != nil {
@@ -178,11 +156,8 @@
//获取本节点的所有国标摄像机
func (api Gb28181Api) GetAllCamerasByServer(serverId string,cameraName string) (b bool,cams []protomsg.Camera) {
   netNode := getNetNode(Topic_Gb28181_Service)
   if netNode == nil {
      return false,nil
   }
   url := DATA_URL_PREFIX + "/gb28181/getAllCamerasByServer"
   netNode := getNetNode(url2Topic(Topic_Gb28181_Service,url))
   client := NewClient(WithNodes(netNode))
   paramQuery := make(map[string]string,0)
   paramQuery["serverId"] = serverId
@@ -205,11 +180,8 @@
//查找地图上的国标摄像机
func (api Gb28181Api) FindOnMap(isOnMap bool, floor int, cameraName string) (b bool, cams []protomsg.Camera) {
   netNode := getNetNode(Topic_Gb28181_Service)
   if netNode == nil {
      return false,nil
   }
   url := DATA_URL_PREFIX + "/camera/findOnMap"
   url := DATA_URL_PREFIX + "/gb28181/camera/findOnMap"
   netNode := getNetNode(url2Topic(Topic_Gb28181_Service, url))
   client := NewClient(WithNodes(netNode))
   paramBody:= map[string]interface{}{
      "isOnMap":    isOnMap,
@@ -238,11 +210,8 @@
//更新摄像机经纬度以及楼层
func (api Gb28181Api) UpdatePos(id string, floor int, longitude float32, latitude float32) bool {
   netNode := getNetNode(Topic_Gb28181_Service)
   if netNode == nil {
      return false
   }
   url := DATA_URL_PREFIX + "/camera/updatePos"
   url := DATA_URL_PREFIX + "/gb28181/camera/updatePos"
   netNode := getNetNode(url2Topic(Topic_Gb28181_Service, url))
   client := NewClient(WithNodes(netNode))
   paramBody:= map[string]interface{}{
      "id":    id,
@@ -266,11 +235,8 @@
//查集群内所有国标摄像机
func (api Gb28181Api) NodeCamera() (bool, interface{}) {
   netNode := getNetNode(Topic_Gb28181_Service)
   if netNode == nil {
      return false,nil
   }
   url := DATA_URL_PREFIX + "/camera/nodeCamera"
   url := DATA_URL_PREFIX + "/gb28181/camera/nodeCamera"
   netNode := getNetNode(url2Topic(Topic_Gb28181_Service, url))
   client := NewClient(WithNodes(netNode))
   body, err := client.DoGetRequest(url, nil, nil)
   if err != nil {
@@ -286,11 +252,8 @@
//通过id获取国标进程中的摄像机坐标设置
func (api Gb28181Api) Coord(cameraId string) (bool, interface{}) {
   netNode := getNetNode(Topic_Gb28181_Service)
   if netNode == nil {
      return false,nil
   }
   url := DATA_URL_PREFIX + "/camera/coord"
   url := DATA_URL_PREFIX + "/gb28181/camera/coord"
   netNode := getNetNode(url2Topic(Topic_Gb28181_Service, url))
   client := NewClient(WithNodes(netNode))
   paramQuery := map[string]string {
      "cameraId": cameraId,
@@ -309,11 +272,8 @@
//更新国标进程中摄像机的转换坐标
func (api Gb28181Api) UpdateCoord(paramBody map[string]interface{}) bool {
   netNode := getNetNode(Topic_Gb28181_Service)
   if netNode == nil {
      return false
   }
   url := DATA_URL_PREFIX + "/camera/updateCoord"
   url := DATA_URL_PREFIX + "/gb28181/camera/updateCoord"
   netNode := getNetNode(url2Topic(Topic_Gb28181_Service, url))
   client := NewClient(WithNodes(netNode))
   body,err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody,nil,nil)
   if err != nil {
@@ -332,11 +292,8 @@
func (api Gb28181Api) CameraUpdate(paramBody map[string]interface{}) bool {
   url := DATA_URL_PREFIX + "/camera/update"
   url := DATA_URL_PREFIX + "/gb28181/camera/update"
   netNode := getNetNode(url2Topic(Topic_Gb28181_Service, url))
   if netNode == nil {
      return false
   }
   client := NewClient(WithNodes(netNode))
   body, err := client.DoPutRequest(url,CONTENT_TYPE_JSON,paramBody,nil)
   if err != nil {
@@ -351,11 +308,8 @@
}
func (api Gb28181Api) UpdateSnapshotUrl(cameraId string, snapshot string) bool {
   url := DATA_URL_PREFIX + "/camera/updateSnapshot"
   url := DATA_URL_PREFIX + "/gb28181/camera/updateSnapshot"
   netNode := getNetNode(url2Topic(Topic_Gb28181_Service, url))
   if netNode == nil {
      return false
   }
   client := NewClient(WithNodes(netNode))
   paramBody :=make(map[string]interface{},0)
   paramBody["snapshot"] = snapshot
@@ -376,14 +330,13 @@
//通过cameraId获取摄像机信息
func (api Gb28181Api) GetCameraById(cameraId string) (camera protomsg.Camera, err error) {
   url := DATA_URL_PREFIX + "/camera/show"
   url := DATA_URL_PREFIX + "/gb28181/camera/show"
   netNode := getNetNode(url2Topic(Topic_Gb28181_Service, url))
   if netNode == nil {
      return camera,errors.New("gb28181-service not found")
   }
   client := NewClient(WithNodes(netNode))
   body, err := client.DoGetRequest(url, nil, nil)
   paramQuery := map[string]string {
      "cid": cameraId,
   }
   body, err := client.DoGetRequest(url, paramQuery, nil)
   if err != nil {
      return camera, err
   }
@@ -400,11 +353,8 @@
}
func (api Gb28181Api) UpdateCameraArea(cameraId string, areaId string) bool {
   url := DATA_URL_PREFIX + "/camera/updateCameraArea"
   url := DATA_URL_PREFIX + "/gb28181/camera/updateCameraArea"
   netNode := getNetNode(url2Topic(Topic_Gb28181_Service, url))
   if netNode == nil {
      return false
   }
   client := NewClient(WithNodes(netNode))
   paramBody := map[string]interface{} {
      "cameraId": cameraId,
@@ -423,15 +373,18 @@
   return res.Success
}
func (api Gb28181Api) FindAll() (cameras []protomsg.Camera) {
   url := DATA_URL_PREFIX + "/camera/showAll"
func (api Gb28181Api) FindAll(cameraName string, runType string, cameraId string, areaId string) (cameras []protomsg.Camera) {
   url := DATA_URL_PREFIX + "/gb28181/camera/showAll"
   netNode := getNetNode(url2Topic(Topic_Gb28181_Service, url))
   if netNode == nil {
      return nil
   }
   client := NewClient(WithNodes(netNode))
   paramQuery := map[string]string {
      "cameraName": cameraName,
      "runType": runType,
      "cameraId": cameraId,
      "areaId": areaId,
   }
   body, err := client.DoGetRequest(url, nil, nil)
   body, err := client.DoGetRequest(url, paramQuery, nil)
   if err != nil {
      return nil
   }
@@ -451,11 +404,8 @@
//根据运行类型获取摄像机列表
//runType(0:获取轮询列表,1:获取实时列表)
func (api Gb28181Api) GetCamerasByRunType(runType int,cameraName string)(flag bool,cameras []protomsg.Camera){
   url := DATA_URL_PREFIX + "/camera/getCamerasByRunType"
   url := DATA_URL_PREFIX + "/gb28181/camera/getCamerasByRunType"
   netNode := getNetNode(url2Topic(Topic_Gb28181_Service, url))
   if netNode == nil {
      return false,nil
   }
   client := NewClient(WithNodes(netNode))
   paramQuery := make(map[string]string,2)
   paramQuery["runType"]=strconv.Itoa(runType)
@@ -482,11 +432,8 @@
}
func (api Gb28181Api) UpdateRunEnable(cameraId string,runEnable bool) (bool,interface{}){
   url := DATA_URL_PREFIX + "/camera/updateRunEnable"
   url := DATA_URL_PREFIX + "/gb28181/camera/updateRunEnable"
   netNode := getNetNode(url2Topic(Topic_Gb28181_Service, url))
   if netNode == nil {
      return false, nil
   }
   client := NewClient(WithNodes(netNode))
   paramBody :=make(map[string]interface{},0)
   paramBody["cameraId"] = cameraId
@@ -506,11 +453,8 @@
}
func (api Gb28181Api) UpdateIsRunningState(cameraId string,isRunning bool) (bool,interface{}){
   url := DATA_URL_PREFIX + "/camera/updateIsRunningState"
   url := DATA_URL_PREFIX + "/gb28181/camera/updateIsRunningState"
   netNode := getNetNode(url2Topic(Topic_Gb28181_Service, url))
   if netNode == nil {
      return false,nil
   }
   client := NewClient(WithNodes(netNode))
   paramBody :=make(map[string]interface{},0)
   paramBody["cameraId"] = cameraId
@@ -530,11 +474,8 @@
}
func (api Gb28181Api) UpdateIsRunningAll(cameraIds []string) (bool,interface{}){
   url := DATA_URL_PREFIX + "/camera/updateIsRunningAll"
   url := DATA_URL_PREFIX + "/gb28181/camera/updateIsRunningAll"
   netNode := getNetNode(url2Topic(Topic_Gb28181_Service, url))
   if netNode == nil {
      return false,nil
   }
   client := NewClient(WithNodes(netNode))
   paramBody :=make(map[string]interface{},0)
   paramBody["cameraIds"] = cameraIds
@@ -554,11 +495,8 @@
//批量切换摄像机轮询或实时状态
func (api Gb28181Api) ChangeRunType(paramBody map[string]interface{}) (bool,interface{}){
   url := DATA_URL_PREFIX + "/camera/changeRunType"
   url := DATA_URL_PREFIX + "/gb28181/camera/changeRunType"
   netNode := getNetNode(url2Topic(Topic_Gb28181_Service, url))
   if netNode == nil {
      return false,nil
   }
   client := NewClient(WithNodes(netNode))
   body,err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody,nil,nil)
   if err != nil {
@@ -572,4 +510,22 @@
   }
   return res.Success,res.Data
}
func (api Gb28181Api) SaveNotExistOrUpdate(paramBody map[string]interface{}) bool {
   url := DATA_URL_PREFIX + "/gb28181/saveNotExistOrUpdate"
   netNode := getNetNode(url2Topic(Topic_Gb28181_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
}