package controllers
|
|
import (
|
"encoding/json"
|
"fmt"
|
|
"github.com/gin-gonic/gin"
|
|
"basic.com/dbapi.git"
|
"webserver/extend/code"
|
"webserver/extend/util"
|
)
|
|
type CameraController struct{}
|
|
type CameraVo struct {
|
Id string `json:"id"`
|
Name string `json:"name"`
|
Type int `json:"type" `
|
Addr string `json:"addr"`
|
Areaid uint `json:"areaid"`
|
Longitude float64 `json:"longitude"`
|
Latitude float64 `json:"latitude"`
|
Rtsp string `json:"rtsp"`
|
Ip string `json:"ip"`
|
Port int `json:"port"`
|
Username string `json:"username"`
|
Password string `json:"password"`
|
Brand string `json:"brand"`
|
Reserved string `json:"reserved"`
|
}
|
|
// @Summary 添加摄像机
|
// @Description "传入区域的id(areaid)和摄像机名字(name) 必须, 其他参数可以在摄像机配置点击保存进行添加"
|
// @Accept json
|
// @Produce json
|
// @Tags camera
|
// @Param cameraStruct body controllers.CameraVo false "struct of camera;the areaid of area's id and name of camera;must need"
|
// @Success 200 {string} json "{"code":200, success:true, msg:"请求处理成功", data:"添加后的摄像机信息"}"
|
// @Failure 500 {string} json "{"code":500, success:false msg:"null ",data:"错误信息内容"}"
|
// @Router /data/api-v/camera/add [post]
|
func (ac CameraController) CameraAdd(c *gin.Context) {
|
var cam CameraVo
|
var api dbapi.CameraApi
|
|
err := c.BindJSON(&cam)
|
if err != nil {
|
util.ResponseFormat(c, code.RequestParamError, "参数错误")
|
return
|
}
|
cam.Id = util.PseudoUuid()
|
paramBody :=util.Struct2Map(cam)
|
if api.CameraAdd(paramBody) {
|
util.ResponseFormat(c, code.Success, cam)
|
return
|
}
|
util.ResponseFormat(c, code.ComError, err)
|
|
}
|
|
// @Summary 更新摄像机
|
// @Description "用于更新摄像机操作"
|
// @Accept json
|
// @Produce json
|
// @Tags camera
|
// @Param cam body controllers.CameraVo true "id:摄像机id default:cid0 (string), areaid:摄像机关联区域id default:1 (int), name:摄像机名字 default:Testname(string) 必填; 其他参数可配 "
|
// @Success 200 {string} json "{"code":200, success:true, msg:"请求处理成功", data:"修改后的摄像机信息"}"
|
// @Failure 500 {string} json "{"code":500, success:false msg:"null",data:"错误信息内容"}"
|
// @Router /data/api-v/camera/update [put]
|
func (ac CameraController) CameraUpdate(c *gin.Context) {
|
var cam CameraVo
|
var api dbapi.CameraApi
|
|
err := c.BindJSON(&cam)
|
if err != nil {
|
util.ResponseFormat(c, code.RequestParamError, "参数错误")
|
return
|
}
|
paramBody :=util.Struct2Map(cam)
|
if api.CameraAdd(paramBody) {
|
util.ResponseFormat(c, code.Success, cam)
|
return
|
}
|
|
util.ResponseFormat(c, code.ComError, err)
|
}
|
|
// @Summary "删除摄像机"
|
// @Description "根据摄像机id删除摄像机"
|
// @Produce json
|
// @Tags camera
|
// @Param cid path string true "摄像机id example: cid0"
|
// @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/del/{cid} [delete]
|
func (ac CameraController) CameraDel(c *gin.Context) {
|
var api dbapi.CameraApi
|
cid := c.Param("cid")
|
|
if api.CameraDelete(cid){
|
util.ResponseFormat(c, code.Success, "删除成功")
|
return
|
}
|
util.ResponseFormat(c, code.ComError,"删除失败")
|
}
|
|
// @Summary 显示摄像机
|
// @Description "显示摄像机"
|
// @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:"错误信息内容"}"
|
// @Router /data/api-v/camera/show/{cid} [get]
|
func (ac CameraController) CameraSel(c *gin.Context) {
|
var api dbapi.CameraApi
|
cid := c.Param("cid")
|
camera,err := api.GetCameraById(cid)
|
if err !=nil {
|
util.ResponseFormat(c,code.ComError,"查询失败")
|
return
|
}
|
|
util.ResponseFormat(c, code.Success, camera)
|
|
}
|
|
type camerSdkStruct struct {
|
Sdkid string `json:"sdkid"`
|
Sdkname string `json:"sdkname"`
|
Sdkargs string `json:"sdkargs"`
|
}
|
type CamerTask struct {
|
Taskid string `json:"taskid"`
|
Taskname string `json:"taskname"`
|
}
|
|
type Sdks []camerSdkStruct
|
type ctpstruct struct {
|
CamerTask
|
Sdks `json:",omitempty"`
|
}
|
|
type Ctp map[CamerTask][]camerSdkStruct
|
|
func (cam Ctp) MarshalJSON() ([]byte, error) {
|
var test []ctpstruct
|
var temp ctpstruct
|
|
for key, value := range cam {
|
temp.CamerTask = key
|
temp.Sdks = value
|
test = append(test, temp)
|
|
}
|
return json.Marshal(test)
|
}
|
|
// @Summary 将摄像机挂到指定的目录树下
|
// @Description 将摄像机挂到指定的目录树下
|
// @Produce json
|
// @Tags camera
|
// @Param cameraId path string true "摄像机id"
|
// @Param areaId path string true "目录区域id"
|
// @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/cameraAreaAdd [get]
|
func (ac CameraController) CameraAreaAdd(c *gin.Context) {
|
cameraId := c.Param("cameraId")
|
areaId := c.Param("areaId")
|
fmt.Println(cameraId)
|
fmt.Println(areaId)
|
}
|
|
// @Summary 删除某一个目录树下的指定摄像机
|
// @Description 删除某一个目录树下的指定摄像机
|
// @Produce json
|
// @Tags camera
|
// @Param cameraId path string true "摄像机id"
|
// @Param areaId path string true "指定目录区域id"
|
// @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/cameraAreaDel [get]
|
func (ac CameraController) CameraAreaDel(c *gin.Context) {
|
cameraId := c.Param("cameraId")
|
areaId := c.Param("areaId")
|
fmt.Println(cameraId)
|
fmt.Println(areaId)
|
}
|