package controllers import ( "eta/eta_api/models" "eta/eta_api/models/system" "eta/eta_api/utils" ) type SysMenuButtonController struct { BaseAuthController } // SysMenuButtons // @Title 获取菜单全部按钮 // @Description 获取菜单全部按钮接口 // @Param RoleId query int true "角色ID" // @Success 200 {object} system.MenuButtonsResp // @router /menu/buttons [get] func (this *SysRoleController) SysMenuButtons() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() list, err := system.GetButtonMenu() if err != nil { br.Msg = "获取失败" br.ErrMsg = "获取失败,Err:" + err.Error() return } listLen := len(list) if listLen <= 0 { list = make([]*system.ButtonMenu, 0) } for i := 0; i < listLen; i++ { item := list[i] menus, err := system.GetSysMenuButtonItems(item.MenuId) if err != nil { br.Msg = "获取失败" br.ErrMsg = "获取失败,Err:" + err.Error() return } list[i].List = menus } roleId, _ := this.GetInt("RoleId") checkList := make([]*int, 0) cl, err := system.GetRoleButtonCheck(roleId) if err != nil && err.Error() != utils.ErrNoRow() { br.Msg = "获取失败" br.ErrMsg = "获取失败,Err:" + err.Error() return } for _, v := range cl { checkList = append(checkList, &v.MenuButtonId) } resp := new(system.MenuButtonsResp) resp.List = list resp.CheckList = checkList br.Ret = 200 br.Success = true br.Msg = "获取成功" br.Data = resp }