554325746@qq.com
2019-12-23 0222e79afe45d9fc55aed9a7e62ca239c228ab73
controllers/camera.go
@@ -42,6 +42,7 @@
// @Summary 添加摄像机
// @Description  "传入区域的id(areaid)和摄像机名字(name) 必须, 其他参数可以在摄像机配置点击保存进行添加"
// @Security ApiKeyAuth
// @Accept json
// @Produce json
// @Tags camera
@@ -70,6 +71,7 @@
// @Summary 更新摄像机
// @Description "用于更新摄像机操作"
// @Security ApiKeyAuth
// @Accept json
// @Produce json
// @Tags camera
@@ -83,6 +85,7 @@
   err := c.BindJSON(&cam)
   if err != nil {
      logger.Debug("err:",err)
      util.ResponseFormat(c, code.RequestParamError, "参数错误")
      return
   }
@@ -97,6 +100,7 @@
// @Summary "删除摄像机"
// @Description "根据摄像机id删除摄像机"
// @Security ApiKeyAuth
// @Produce json
// @Tags camera
// @Param cid path string true "摄像机id example: cid0"
@@ -116,11 +120,12 @@
// @Summary 显示摄像机
// @Description "显示摄像机"
// @Security ApiKeyAuth
// @Produce json
// @Tags camera
// @Param cid path string true "摄像机id"
// @Success 200 {string} json "{"code":200, success:true,  msg:"请求处理成功", data:"摄像机信息"}"
// @Failure 500 {string} json "{"code":500, success:false   msg:"",data:"错误信息内容"}"
// @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/show/{cid} [get]
func (ac CameraController) CameraSel(c *gin.Context) {
   var api dbapi.CameraApi
@@ -130,8 +135,35 @@
      util.ResponseFormat(c, code.ComError, "查询失败")
      return
   }
   util.ResponseFormat(c, code.Success, camera)
   //2019-11-02新增需求,显示每个摄像机的处理服务器信息,归属的节点服务器名称
   m := util.Struct2Map(camera)
   m["runServerName"] = ""
   if camera.RunServerId !="" {
      localConf, e := cache.GetServerInfo()
      if e ==nil {
         if camera.RunServerId == localConf.ServerId {//归属本台服务器
            m["runServerName"] = localConf.ServerName
         } else {//属于其他服务器
            var clusterApi dbapi.ClusterApi
            b, data := clusterApi.FindCluster()
            if b && data !=nil {
               cb, _ := json.Marshal(data)
               var clu ClusterDb
               if err := json.Unmarshal(cb, &clu);err ==nil {
                  if len(clu.Nodes) >0 {
                     for _,n :=range clu.Nodes {
                        if camera.RunServerId == n.NodeId {
                           m["runServerName"] = n.NodeName
                           break
                        }
                     }
                  }
               }
            }
         }
      }
   }
   util.ResponseFormat(c, code.Success, m)
}
@@ -166,6 +198,7 @@
   return json.Marshal(test)
}
// @Security ApiKeyAuth
// @Summary 将摄像机挂到指定的目录树下
// @Description 将摄像机挂到指定的目录树下
// @Produce json
@@ -182,6 +215,7 @@
   fmt.Println(areaId)
}
// @Security ApiKeyAuth
// @Summary 删除某一个目录树下的指定摄像机
// @Description 删除某一个目录树下的指定摄像机
// @Produce json
@@ -198,6 +232,7 @@
   fmt.Println(areaId)
}
// @Security ApiKeyAuth
// @Summary 根据server获取所有摄像机列表及信息
// @Description 根据server获取所有摄像机列表及信息
// @Produce json
@@ -223,6 +258,7 @@
   }
}
// @Security ApiKeyAuth
// @Summary 获取运行类型获取摄像机列表
// @Description 获取运行类型获取摄像机列表
// @Produce json
@@ -255,12 +291,14 @@
   }
}
// @Security ApiKeyAuth
// @Summary 切换摄像机运行实时或轮询的开关
// @Description 切换摄像机运行实时或轮询的开关
// @Accept x-www-form-urlencoded
// @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]
@@ -283,6 +321,7 @@
   }
}
// @Security ApiKeyAuth
// @Summary  更新底图
// @Description 刷新底图
// @Produce json
@@ -300,7 +339,10 @@
      util.ResponseFormat(c, code.ComError, "更新失败")
        return 
    }
    util.ResponseFormat(c, code.Success, filename)
    util.ResponseFormat(c, code.Success, map[string]string{
       "cameraId": cid,
       "snapshotUrl": filename,
   })
type CameraChangeRunVo struct {
@@ -308,6 +350,7 @@
   RunType   int      `json:"run_type"`
}
// @Security ApiKeyAuth
// @Summary 摄像机轮询和实时状态切换
// @Description 摄像机轮询和实时状态切换
// @Produce json
@@ -332,4 +375,22 @@
   }
}
// @Security ApiKeyAuth
// @Summary 统计实时和轮询的运行路数情况
// @Description 统计实时和轮询的运行路数情况
// @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,"")
   }
}