package controllers import ( "basic.com/valib/bhomeclient.git" "basic.com/valib/logger.git" "strconv" "vamicro/cameraCompose-service/models" "vamicro/cameraCompose-service/service" ) type CameraComposeController struct { } // @Summary 添加组合显示摄像机 // @Description 添加组合显示摄像机 // @Accept json // @Produce json // @Tags cameraCompose // @Param cameraStruct body models.CameraCompose true "struct of CameraCompose;the CameraId Status;must need" // @Success 200 {string} json "{"code":200, success:true, msg:"请求处理成功", data:"成功信息"}" // @Failure 500 {string} json "{"code":500, success:false, msg:"",data:"错误信息内容"}" // @Router /data/api-v/cameraCompose/save [post] func (cc CameraComposeController) CameraComposeSync(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply { var camVo []models.CameraCompose if err := c.BindJSON(&camVo); err != nil { return &bhomeclient.Reply{Success: false, Msg: "参数有误" + err.Error()} } var camM models.CameraCompose for _, cam := range camVo { camM.CameraId = cam.CameraId camM.Status = cam.Status _, err := camM.Save(true) if nil != err { return &bhomeclient.Reply{Success: false, Msg: err.Error()} } } return &bhomeclient.Reply{Success: true, Data: "操作成功!"} } // @Summary "删除组合显示摄像机" // @Description "根据摄像机id删除删除组合显示摄像机" // @Produce json // @Tags camera // @Param cid query 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/cameraCompose/del [delete] func (cc CameraComposeController) CameraDel(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply { var cam models.CameraCompose cam.CameraId = c.Query("id") logger.Debug("CameraCompose.id:", cam.CameraId) rows, err := cam.Delete() if err != nil { return &bhomeclient.Reply{Success: false, Msg: "服务器内部错误"} } if rows == 0 { return &bhomeclient.Reply{Success: false, Msg: "记录不存在"} } return &bhomeclient.Reply{Success: true, Msg: "删除成功"} } // @Summary 获取所有摄像机列表及信息 // @Description "获取所有摄像机列表及信息" // @Produce json // @Tags camera // @Param cameraName query string false "摄像机名称" // @Param runType query string false "0:全部,1:分析,2:监控,3:联动" // @Param cameraId query string false "摄像机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/cameraCompose/showAll [get] func (cc CameraComposeController) GetAll(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply { var cam service.CameraComposeService limit := c.Query("size") cams, err := cam.GetAll() if limit != "" { limit1, err := strconv.Atoi(limit) if nil != err { return &bhomeclient.Reply{Success: false, Msg: err.Error()} } if limit1 > len(cams) { cams = cams[0:limit1] } } if err != nil { return &bhomeclient.Reply{Success: false, Msg: err.Error()} } return &bhomeclient.Reply{Success: true, Data: cams} }