package controllers import ( "basic.com/dbapi.git" "webserver/extend/code" "webserver/extend/util" "github.com/gin-gonic/gin" "strconv" ) type AreaController struct { } //type TreeMenu struct { // Id string `json:"id" ` // Type string `json:"type"` // 如果不是MENU,区分本地摄像机(分析和监控)以及国标摄像机 // Name string `json:"name"` // Areanodes []TreeMenu `json:"children"` //} // //type TreeNode struct { // Id int // Name string // Parentid int //} type AreaVo struct { Id int `json:"id"` ParentId int `json:"parentId"` Name string `json:"name"` } // @Summary 显示树形结构 // @Description 显示左侧所有区域和摄像机 // @Produce json // @Tags menu // @Param parentid query int true "区域的id" // @Success 200 {string} json "{"code":200, msg:"目录结构数据"}" // @Failure 500 {string} json "{"code":500, msg:"返回错误信息"}" // @Router /data/api-v/area/localmenu [get] func (ac AreaController) CameraTree(c *gin.Context) { parentIdStr := c.Query("parentid") searchTypeStr := c.Query("searchType") cameraName := c.Query("cameraName") var api dbapi.AreaApi arr := api.GetLocalCameraTree(parentIdStr, searchTypeStr, cameraName) util.ResponseFormat(c, code.Success, arr) } // @Summary 添加menu的区域 // @Description 添加目录上区域 // @Produce json // @Tags menu // @Param name query string true "区域名字" // @Param parentId query int true "上一级父id" // @Success 200 {string} json "{"code":200, data:"添加的区域信息",msg:"请求成功", success:true}" // @Failure 200 {string} json "{"code":"错误码", data:"出错信息",msg:"请求失败", success:false}" // @Router /data/api-v/area/add [post] func (ac AreaController) AreaAdd(c *gin.Context) { var api dbapi.AreaApi name := c.PostForm("name") parentId, err := strconv.Atoi(c.PostForm("parentId")) if err !=nil { util.ResponseFormat(c, code.RequestParamError, "parentId参数错误") return } var model = AreaVo{ Name:name, ParentId:parentId, } paramBody := util.Struct2Map(model) if api.AreaAdd(paramBody) { util.ResponseFormat(c,code.Success,"保存成功") } else { util.ResponseFormat(c,code.ComError,"保存失败") } } // @Summary 修改名字 // @Description 修改区域名字 // @Accept json // @Produce json // @Tags menu // @Param id path int true "区域id" // @Param area body controllers.AreaVo true "区域结构" // @Success 200 {string} json "{"code":200, data:"",msg:"请求成功", success:true}" // @Failure 200 {string} json "{"code":"错误码", data:"出错信息",msg:"请求失败", success:false}" // @Router /data/api-v/area/update/{id} [put] func (ac AreaController) AreaUpdate(c *gin.Context) { var api dbapi.AreaApi var model AreaVo if err := c.BindJSON(&model);err !=nil { util.ResponseFormat(c, code.ComError, "参数有误") return } paramBody := util.Struct2Map(model) if api.AreaUpdate(paramBody) { util.ResponseFormat(c,code.Success,"更新成功") }else { util.ResponseFormat(c,code.ComError,"更新失败") } } // @Summary 删除一个区域 // @Description 点击删除按钮时删除一个区域 // @Produce json // @Tags menu // @Param id query int true "当前id" // @Success 200 {string} json "{"code":200, data:"删除的区域信息",msg:"请求成功", success:true}" // @Failure 200 {string} json "{"code":"错误码", data:"出错信息",msg:"请求失败", success:false}" // @Router /data/api-v/area/del [get] func (ac AreaController) AreaDelete(c *gin.Context) { var api dbapi.AreaApi id := c.Query("id") areaId, err := strconv.Atoi(id) if err != nil { util.ResponseFormat(c, code.ComError, "传入非整形无法解析") return } if api.AreaDelete(areaId) { util.ResponseFormat(c, code.Success, "删除成功") } else { util.ResponseFormat(c, code.ComError,"删除失败") } }