| | |
| | | import ( |
| | | "encoding/json" |
| | | "fmt" |
| | | "strconv" |
| | | |
| | | "github.com/gin-gonic/gin" |
| | | |
| | |
| | | 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"` |
| | | 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"` |
| | | |
| | | IsRunning bool `json:"is_running"` //是否正在解码 |
| | | RunEnable bool `json:"run_enable"` //控制实时处理或轮询处理的开关 |
| | | RunType int `json:"run_type"` //处理类型:0:轮询,1:实时 |
| | | RunServerId string `json:"run_server_id"` //当前正在处理的分析服务器id |
| | | } |
| | | |
| | | // @Summary 添加摄像机 |
| | |
| | | return |
| | | } |
| | | cam.Id = util.PseudoUuid() |
| | | paramBody :=util.Struct2Map(cam) |
| | | paramBody := util.Struct2Map(cam) |
| | | if api.CameraAdd(paramBody) { |
| | | util.ResponseFormat(c, code.Success, cam) |
| | | return |
| | |
| | | util.ResponseFormat(c, code.RequestParamError, "参数错误") |
| | | return |
| | | } |
| | | paramBody :=util.Struct2Map(cam) |
| | | paramBody := util.Struct2Map(cam) |
| | | if api.CameraAdd(paramBody) { |
| | | util.ResponseFormat(c, code.Success, cam) |
| | | return |
| | |
| | | var api dbapi.CameraApi |
| | | cid := c.Param("cid") |
| | | |
| | | if api.CameraDelete(cid){ |
| | | if api.CameraDelete(cid) { |
| | | util.ResponseFormat(c, code.Success, "删除成功") |
| | | return |
| | | } |
| | | util.ResponseFormat(c, code.ComError,"删除失败") |
| | | util.ResponseFormat(c, code.ComError, "删除失败") |
| | | } |
| | | |
| | | // @Summary 显示摄像机 |
| | |
| | | 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,"查询失败") |
| | | camera, err := api.GetCameraById(cid) |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.ComError, "查询失败") |
| | | return |
| | | } |
| | | |
| | |
| | | fmt.Println(cameraId) |
| | | fmt.Println(areaId) |
| | | } |
| | | |
| | | // @Summary 获取运行类型获取摄像机列表 |
| | | // @Description 获取运行类型获取摄像机列表 |
| | | // @Produce json |
| | | // @Tags camera |
| | | // @Param runType query int true "0:查轮询,1:查实时" |
| | | // @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/getCamerasByRunType [get] |
| | | func (cc CameraController) GetCamerasByRunType(c *gin.Context) { |
| | | |
| | | runTypeStr := c.Query("runType") |
| | | cameraName := c.Query("cameraName") |
| | | fmt.Println("runType:", runTypeStr) |
| | | fmt.Println("cameraName:", cameraName) |
| | | runType, err := strconv.Atoi(runTypeStr) |
| | | if err != nil || (runType != 0 && runType != 1) { |
| | | util.ResponseFormat(c, code.RequestParamError, "参数有误") |
| | | return |
| | | } |
| | | var api dbapi.CameraApi |
| | | b, list := api.GetCamerasByRunType(runType, cameraName) |
| | | if b { |
| | | dataBytes, _ := json.Marshal(list) |
| | | var cams []CameraVo |
| | | json.Unmarshal(dataBytes, &cams) |
| | | util.ResponseFormat(c, code.Success, cams) |
| | | } else { |
| | | util.ResponseFormat(c, code.ComError, err) |
| | | } |
| | | } |
| | | |
| | | // @Summary 切换摄像机运行实时或轮询的开关 |
| | | // @Description 切换摄像机运行实时或轮询的开关 |
| | | // @Produce json |
| | | // @Tags camera |
| | | // @Param cameraId query string true "摄像机id" |
| | | // @Param runEnable query 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] |
| | | func (cc CameraController) UpdateRunEnable(c *gin.Context) { |
| | | cameraId := c.PostForm("cameraId") |
| | | enableStr := c.PostForm("runEnable") |
| | | runEnable, err := strconv.ParseBool(enableStr) |
| | | if cameraId == "" || err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "参数有误") |
| | | return |
| | | } |
| | | |
| | | var api dbapi.CameraApi |
| | | b, data := api.UpdateRunEnable(cameraId, runEnable) |
| | | fmt.Println("data:", data) |
| | | if b { |
| | | util.ResponseFormat(c, code.Success, data) |
| | | } else { |
| | | util.ResponseFormat(c, code.ComError, "更新失败") |
| | | } |
| | | } |
| | | |
| | | type CameraChangeRunVo struct { |
| | | CameraIds []string `json:"camera_ids"` |
| | | RunType int `json:"run_type"` |
| | | } |
| | | |
| | | // @Summary 摄像机轮询和实时状态切换 |
| | | // @Description 摄像机轮询和实时状态切换 |
| | | // @Produce json |
| | | // @Tags camera |
| | | // @Param changeRunBody body controllers.CameraChangeRunVo true "参数结构体,0:实时切轮询,1:轮询切实时" |
| | | // @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/changeRunType [post] |
| | | func (cc CameraController) ChangeRunType(c *gin.Context) { |
| | | var ccrVo CameraChangeRunVo |
| | | if err := c.BindJSON(&ccrVo); err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "参数有误") |
| | | return |
| | | } |
| | | paramBody := util.Struct2Map(ccrVo) |
| | | var api dbapi.CameraApi |
| | | b, data := api.ChangeRunType(paramBody) |
| | | if b { |
| | | util.ResponseFormat(c, code.Success, data) |
| | | } else { |
| | | util.ResponseFormat(c, code.ComError, "更新失败") |
| | | } |
| | | } |