package controllers import ( "encoding/json" "eta/eta_api/models" "eta/eta_api/services" "eta/eta_api/utils" ) // ChartPermissionController 品种列表 type ChartPermissionController struct { BaseAuthController } // List // @Title 品种列表 // @Description 品种列表 // @Param Keyword query string false "关键词" // @Success 200 Ret=200 操作成功 // @router /list [get] func (this *ChartPermissionController) List() { br := new(models.BaseResponse).Init() defer func() { if br.ErrMsg == "" { br.IsSendEmail = false } this.Data["json"] = br this.ServeJSON() }() sysUser := this.SysUser if sysUser == nil { br.Msg = "请登录" br.ErrMsg = "请登录,SysUser Is Empty" br.Ret = 408 return } cond := ` and product_id=1` pars := make([]interface{}, 0) list, e := services.GetChartPermissionList(cond, pars) if e != nil { br.Msg = "获取失败" br.ErrMsg = "获取品种列表失败, Err: " + e.Error() return } // 品种树 resp := make([]*models.ChartPermissionItem, 0) childMap := make(map[int][]*models.ChartPermissionItem) for _, v := range list { t := new(models.ChartPermissionItem) t.PermissionId = v.ChartPermissionId t.PermissionName = v.PermissionName t.ParentId = v.ParentId t.IsPublic = v.IsPublic t.Enabled = v.Enabled t.Sort = v.Sort t.CreateTime = v.CreatedTime.Format(utils.FormatDateTime) t.Child = make([]*models.ChartPermissionItem, 0) if v.ParentId == 0 { resp = append(resp, t) continue } if v.ParentId > 0 { if childMap[v.ParentId] == nil { childMap[v.ParentId] = make([]*models.ChartPermissionItem, 0) } childMap[v.ParentId] = append(childMap[v.ParentId], t) } } for _, r := range resp { r.Child = childMap[r.PermissionId] } br.Ret = 200 br.Success = true br.Msg = "获取成功" br.Data = resp } // Add // @Title 新增品种列表 // @Description 新增品种列表 // @Param request body models.PermissionAddReq true "type json string" // @Success 200 Ret=200 操作成功 // @router /add [post] func (this *ChartPermissionController) Add() { br := new(models.BaseResponse).Init() defer func() { if br.ErrMsg == "" { br.IsSendEmail = false } this.Data["json"] = br this.ServeJSON() }() sysUser := this.SysUser if sysUser == nil { br.Msg = "请登录" br.ErrMsg = "请登录,SysUser Is Empty" br.Ret = 408 return } var req models.PermissionAddReq if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil { br.Msg = "参数解析异常!" br.ErrMsg = "参数解析失败,Err:" + e.Error() return } if req.PermissionName == "" { br.Msg = "请输入品种名称" return } e, msg := services.AddChartPermission(req) if e != nil { br.Msg = msg br.ErrMsg = "新增品种失败, Err: " + e.Error() return } br.Ret = 200 br.Success = true br.Msg = "获取成功" } // Edit // @Title 编辑品种 // @Description 编辑品种 // @Param request body models.PermissionEditReq true "type json string" // @Success 200 Ret=200 操作成功 // @router /edit [post] func (this *ChartPermissionController) Edit() { br := new(models.BaseResponse).Init() defer func() { if br.ErrMsg == "" { br.IsSendEmail = false } this.Data["json"] = br this.ServeJSON() }() sysUser := this.SysUser if sysUser == nil { br.Msg = "请登录" br.ErrMsg = "请登录,SysUser Is Empty" br.Ret = 408 return } var req models.PermissionEditReq if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil { br.Msg = "参数解析异常!" br.ErrMsg = "参数解析失败,Err:" + e.Error() return } if req.PermissionId <= 0 { br.Msg = "请选择要编辑的品种" return } if req.PermissionName == "" { br.Msg = "请输入品种名称" return } e, msg := services.EditChartPermission(req) if e != nil { br.Msg = msg br.ErrMsg = "编辑品种失败, Err: " + e.Error() return } br.Ret = 200 br.Success = true br.Msg = "获取成功" } // Move // @Title 移动品种 // @Description 移动品种 // @Param request body models.PermissionMoveReq true "type json string" // @Success 200 Ret=200 操作成功 // @router /move [post] func (this *ChartPermissionController) Move() { br := new(models.BaseResponse).Init() defer func() { if br.ErrMsg == "" { br.IsSendEmail = false } this.Data["json"] = br this.ServeJSON() }() sysUser := this.SysUser if sysUser == nil { br.Msg = "请登录" br.ErrMsg = "请登录,SysUser Is Empty" br.Ret = 408 return } var req models.PermissionMoveReq // todo 限制修改一级品种 if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil { br.Msg = "参数解析异常!" br.ErrMsg = "参数解析失败,Err:" + e.Error() return } if req.PermissionId == 0 { br.Msg = "请选择要移动的品种" return } e, msg := services.MoveChartPermission(req) if e != nil { br.Msg = msg br.ErrMsg = "移动品种失败, Err: " + e.Error() return } br.Ret = 200 br.Success = true br.Msg = "获取成功" } // SetEnabled // @Title 启用/禁用品种 // @Description 启用/禁用品种 // @Param request body models.PermissionEnabledReq true "type json string" // @Success 200 Ret=200 操作成功 // @router /enabled/set [post] func (this *ChartPermissionController) SetEnabled() { br := new(models.BaseResponse).Init() defer func() { if br.ErrMsg == "" { br.IsSendEmail = false } this.Data["json"] = br this.ServeJSON() }() sysUser := this.SysUser if sysUser == nil { br.Msg = "请登录" br.ErrMsg = "请登录,SysUser Is Empty" br.Ret = 408 return } var req models.PermissionEnabledReq if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil { br.Msg = "参数解析异常!" br.ErrMsg = "参数解析失败,Err:" + e.Error() return } if req.PermissionId <= 0 { br.Msg = "请选择要编辑的品种" return } if req.Enabled != 0 && req.Enabled != 1 { br.Msg = "请选择正确的启用禁用状态" return } e, msg := services.SetEnabledChartPermission(req) if e != nil { br.Msg = msg br.ErrMsg = "编辑品种失败, Err: " + e.Error() return } br.Ret = 200 br.Success = true br.Msg = "操作成功" }