sqlite的api,便于内部使用
liuxiaolong
2019-07-02 10b024f5b9faff129deba09db40c751ef8608679
cameraApi.go
@@ -1,29 +1,372 @@
package dbapi
import (
   "basic.com/pubsub/protomsg.git"
   "encoding/json"
   "fmt"
   "strconv"
)
type CameraApi struct{}
//通过cameraId获取摄像机信息
func (api CameraApi) GetCameraById(cameraId string) (result Camera, err error) {
   url := BASIC_URL + DATA_URL_PREFIX + "/camera/show/" + cameraId
func (api CameraApi) CameraAdd(paramBody map[string]interface{}) bool {
   url := BASIC_URL + 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
   }
   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) UpdateSnapshotUrl(cameraId string, snapshot string) bool {
   url := BASIC_URL + 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 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
   }
   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 := BASIC_URL + 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"
   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 {
      fmt.Println(err)
      return nil
   }
   bytes, _ := json.Marshal(res.Data)
   err = json.Unmarshal(bytes, &cameras)
   return cameras
}
//获取所有摄像机的信息以及其所有任务
func (api CameraApi) FindAllCameraAndTask() (cameraTasks []protomsg.CameraAndTaskInfo){
   url := BASIC_URL + 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 {
      fmt.Println(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"
   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
}
//根据摄像机id查找所有的时间规则
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
}