package controllers import ( "basic.com/dbapi.git" "github.com/gin-gonic/gin" "webserver/extend/code" "webserver/extend/util" ) type CameraPolygonController struct { } type CameraPolygonVo struct { CameraId string `json:"camera_id"` //摄像机id SnapshotUrl string `json:"snapshot_url"` //快照地址 Line []PolygonS `json:"line"` //画的所有线 Rect []PolygonS `json:"rect"` //矩形 Arrow []PolygonS `json:"arrow"` //箭头 Polygon []PolygonS `json:"polygon"` //多边形 } type PolygonS struct { Id string `json:"id"`//形状id Name string `json:"name"`//形状名称 Location []Point `json:"location"`//形状坐标 DefenceState int `json:"defence_state"`//默认为0,不启用 } //坐标定义 type Point struct { X float64 `json:"x"` Y float64 `json:"y"` } // @Security ApiKeyAuth // @Summary 保存摄像机多边形 // @Description 保存摄像机多边形 // @Accept json // @Produce json // @Tags 摄像机多边形 // @Param cameraPolygon body controllers.CameraPolygonVo true "摄像机区域结构体,必填" // @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}" // @Failure 500 {string} json "{"code":500, success:false, msg:"", data:""}" // @Router /data/api-v/polygon/save [post] func (controller CameraPolygonController) Save(c *gin.Context) { paramBody := make(map[string]interface{},0) c.BindJSON(¶mBody) var api dbapi.CameraApi flag, data := api.SaveCameraPolygon(paramBody) if flag { util.ResponseFormat(c,code.Success,data) return } util.ResponseFormat(c,code.ComError,"保存失败") } // @Security ApiKeyAuth // @Summary 删除摄像机区域 // @Description 删除摄像机区域 // @Produce json // @Tags 摄像机多边形 // @Param id query 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/polygon/delete [get] func (controller CameraPolygonController) Delete(c *gin.Context) { id := c.Query("id") if id == "" { util.ResponseFormat(c,code.RequestParamError,"id不能为空") return } var api dbapi.CameraApi flag, data := api.DeleteCameraPolygon(id) if flag { util.ResponseFormat(c,code.Success,data) return } util.ResponseFormat(c,code.ComError,"删除") } // @Security ApiKeyAuth // @Summary 查找摄像机区域 // @Description 查找摄像机区域 // @Produce json // @Tags 摄像机多边形 // @Param cameraId query string true "cameraId" // @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}" // @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}" // @Router /data/api-v/polygon/findByCameraId [get] func (controller CameraPolygonController) FindByCameraId(c *gin.Context) { cameraId := c.Query("cameraId") if cameraId == "" { util.ResponseFormat(c,code.RequestParamError,"cameraId不能为空") return } var api dbapi.CameraApi flag, data := api.FindPolygonsByCameraId(cameraId) if flag { util.ResponseFormat(c,code.Success,data) return } util.ResponseFormat(c,code.ComError, data) } func (controller CameraPolygonController)UpdateDefenceStateByPolygonId(c *gin.Context) { polygonId := c.Query("polygonId")//多边形id defenceState := c.Query("defence_state")//布撤防状态 if polygonId=="" || defenceState == ""{ util.ResponseFormat(c,code.RequestParamError,"参数有误") return } var api dbapi.CameraApi flag,data := api.UpdateDefenceStateByPolygonId(polygonId, defenceState) if flag { util.ResponseFormat(c,code.Success,data) } else { util.ResponseFormat(c,code.ComError,"更新失败") } } func (controller CameraPolygonController)UpdateDefenceStateByCameraId(c *gin.Context) { cameraId := c.Query("cameraId")//多边形id defenceState := c.Query("defence_state")//布撤防状态 if cameraId=="" || defenceState == ""{ util.ResponseFormat(c,code.RequestParamError,"参数有误") return } var api dbapi.CameraApi flag,data := api.UpdateDefenceStateByCameraId(cameraId,defenceState) if flag { util.ResponseFormat(c,code.Success,data) } else { util.ResponseFormat(c,code.ComError,data) } }