zhangzengfei
2019-10-31 2bd2068c999cda5bda8c0787ed0dcaac6cb7afdb
controllers/camera.go
@@ -4,6 +4,8 @@
   "encoding/json"
   "fmt"
   "strconv"
   "basic.com/valib/logger.git"
   "webserver/cache"
   "github.com/gin-gonic/gin"
@@ -18,11 +20,12 @@
type CameraVo struct {
   Id        string  `json:"id"`
   Name      string  `json:"name"`
   Alias     string  `json:"alias"` //摄像机的别名
   Type      int     `json:"type" `
   Addr      string  `json:"addr"`
   Areaid    uint    `json:"areaid"`
   Longitude float64 `json:"longitude"`
   Latitude  float64 `json:"latitude"`
   Areaid    string  `json:"areaid"`
   Longitude float32 `json:"longitude"`
   Latitude  float32 `json:"latitude"`
   Rtsp      string  `json:"rtsp"`
   Ip        string  `json:"ip"`
   Port      int     `json:"port"`
@@ -39,6 +42,7 @@
// @Summary 添加摄像机
// @Description  "传入区域的id(areaid)和摄像机名字(name) 必须, 其他参数可以在摄像机配置点击保存进行添加"
// @Security ApiKeyAuth
// @Accept json
// @Produce json
// @Tags camera
@@ -55,10 +59,10 @@
      util.ResponseFormat(c, code.RequestParamError, "参数错误")
      return
   }
   cam.Id = util.PseudoUuid()
   paramBody := util.Struct2Map(cam)
   if api.CameraAdd(paramBody) {
      util.ResponseFormat(c, code.Success, cam)
   b, data := api.CameraAdd(paramBody)
   if b {
      util.ResponseFormat(c, code.Success, data)
      return
   }
   util.ResponseFormat(c, code.ComError, err)
@@ -67,6 +71,7 @@
// @Summary 更新摄像机
// @Description "用于更新摄像机操作"
// @Security ApiKeyAuth
// @Accept json
// @Produce json
// @Tags camera
@@ -94,6 +99,7 @@
// @Summary "删除摄像机"
// @Description "根据摄像机id删除摄像机"
// @Security ApiKeyAuth
// @Produce json
// @Tags camera
// @Param cid path string true "摄像机id example: cid0"
@@ -103,7 +109,7 @@
func (ac CameraController) CameraDel(c *gin.Context) {
   var api dbapi.CameraApi
   cid := c.Param("cid")
   logger.Debug("CameraDel.cid:",cid)
   if api.CameraDelete(cid) {
      util.ResponseFormat(c, code.Success, "删除成功")
      return
@@ -113,6 +119,7 @@
// @Summary 显示摄像机
// @Description "显示摄像机"
// @Security ApiKeyAuth
// @Produce json
// @Tags camera
// @Param cid path string true "摄像机id"
@@ -165,6 +172,7 @@
// @Summary 将摄像机挂到指定的目录树下
// @Description 将摄像机挂到指定的目录树下
// @Security ApiKeyAuth
// @Produce json
// @Tags camera
// @Param cameraId path string true "摄像机id"
@@ -181,6 +189,7 @@
// @Summary 删除某一个目录树下的指定摄像机
// @Description 删除某一个目录树下的指定摄像机
// @Security ApiKeyAuth
// @Produce json
// @Tags camera
// @Param cameraId path string true "摄像机id"
@@ -195,8 +204,35 @@
   fmt.Println(areaId)
}
// @Summary 根据server获取所有摄像机列表及信息
// @Description 根据server获取所有摄像机列表及信息
// @Security ApiKeyAuth
// @Produce json
// @Tags camera
// @Param cameraName query string false "摄像机名称"
// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}"
// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}"
// @Router /data/api-v/camera/getAllCamerasByServer [get]
func (cc CameraController) GetAllCamerasByServer(c *gin.Context) {
   localConf, err2 := cache.GetServerInfo()
   if err2 !=nil || localConf.ServerId == "" {
      logger.Debug("localConfig is wrong!!!")
      util.ResponseFormat(c,code.ComError,"服务器本机未配置serverId")
      return
   }
   var api dbapi.CameraApi
   cameraName := c.Query("cameraName")
   b,d := api.GetAllCamerasByServer(localConf.ServerId, cameraName)
   if b {
      util.ResponseFormat(c,code.Success, d)
   } else {
      util.ResponseFormat(c,code.ComError, "")
   }
}
// @Summary 获取运行类型获取摄像机列表
// @Description 获取运行类型获取摄像机列表
// @Security ApiKeyAuth
// @Produce json
// @Tags camera
// @Param runType query int true "0:查轮询,1:查实时"
@@ -229,10 +265,11 @@
// @Summary 切换摄像机运行实时或轮询的开关
// @Description 切换摄像机运行实时或轮询的开关
// @Security ApiKeyAuth
// @Produce json
// @Tags camera
// @Param cameraId query string true "摄像机id"
// @Param runEnable query bool true "开启:true,关闭:false"
// @Param cameraId formData string true "摄像机id"
// @Param runEnable formData bool true "开启:true,关闭:false"
// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}"
// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}"
// @Router /data/api-v/camera/updateRunEnable [post]
@@ -257,6 +294,7 @@
// @Summary  更新底图
// @Description 刷新底图
// @Security ApiKeyAuth
// @Produce json
// @Tags camera
// @Param cid path string true "摄像机id"
@@ -265,8 +303,10 @@
// @Router /data/api-v/camera/updateSnapshotUrl/{cid} [get]
func(cc CameraController) UpdateSnapshotUrl(c *gin.Context){
    cid := c.Param("cid")
    filename, err := service.UpdateSnapshotUrl(cid)
    //filename, err := service.UpdateSnapshotUrl(cid)
   filename, err := service.UpdateCapture(cid)
    if err != nil {
       logger.Debug("UpdateSnapshotUrl.err:",err)
      util.ResponseFormat(c, code.ComError, "更新失败")
        return 
    }
@@ -280,6 +320,7 @@
// @Summary 摄像机轮询和实时状态切换
// @Description 摄像机轮询和实时状态切换
// @Security ApiKeyAuth
// @Produce json
// @Tags camera
// @Param changeRunBody body controllers.CameraChangeRunVo true "参数结构体,0:实时切轮询,1:轮询切实时"
@@ -302,4 +343,22 @@
   }
}
// @Summary 统计实时和轮询的运行路数情况
// @Description 统计实时和轮询的运行路数情况
// @Security ApiKeyAuth
// @Produce json
// @Tags camera
// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}"
// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}"
// @Router /data/api-v/camera/statisticRunInfo [get]
func (cc CameraController) StatisticRunInfo(c *gin.Context) {
   var api dbapi.CameraApi
   b, d := api.StatisticRunInfo()
   if b {
      util.ResponseFormat(c,code.Success,d)
   } else {
      util.ResponseFormat(c,code.ComError,"")
   }
}