package system import ( "github.com/beego/beego/v2/client/orm" "time" ) type SysMenuButton struct { MenuButtonId int `orm:"column(menu_button_id);pk" description:"菜单按钮id"` MenuId int ButtonName int CreateTime time.Time } type SysMenuButtonItem struct { MenuButtonId int `description:"菜单按钮id"` MenuId int `description:"菜单id"` ButtonName string `description:"按钮名称"` } func GetSysMenuButtonItems(menuId int) (items []*SysMenuButtonItem, err error) { sql := ` SELECT * FROM sys_menu_button WHERE menu_id=? ` _, err = orm.NewOrm().Raw(sql, menuId).QueryRows(&items) return } type MenuButtonsResp struct { List []*ButtonMenu CheckList []*int } func AddSysMenuButton(item *SysMenuButton) (lastId int64, err error) { o := orm.NewOrm() lastId, err = o.Insert(item) return } type SysRoleButton struct { Id int `orm:"column(id);pk" description:"关联id"` RoleId int MenuButtonId int CreateTime time.Time } func AddSysRoleButton(item *SysRoleButton) (lastId int64, err error) { o := orm.NewOrm() lastId, err = o.Insert(item) return } func GetRoleButtonCheck(roleId int) (items []*SysRoleButton, err error) { sql := `SELECT b.* FROM sys_menu_button AS a INNER JOIN sys_role_button AS b ON a.menu_button_id=b.menu_button_id WHERE b.role_id=?` o := orm.NewOrm() _, err = o.Raw(sql, roleId).QueryRows(&items) return } type ButtonMenu struct { MenuId int `description:"导航唯一标识"` Name string `json:"name" description:"导航名称"` List []*SysMenuButtonItem } func GetButtonMenu() (items []*ButtonMenu, err error) { sql := `SELECT b.menu_id,b.name FROM sys_menu_button AS a INNER JOIN sys_menu AS b ON a.menu_id=b.menu_id GROUP BY b.menu_id ` o := orm.NewOrm() _, err = o.Raw(sql).QueryRows(&items) return } func DeleteSysRoleButton(roleId int) (err error) { o := orm.NewOrm() sql := `DELETE FROM sys_role_button WHERE role_id=? ` _, err = o.Raw(sql, roleId).Exec() return } func GetSysRoleButtonCount(roleId, buttonId int) (count int, err error) { o := orm.NewOrm() sql := `SELECT COUNT(1) AS count FROM sys_role_button WHERE role_id=? AND menu_button_id=? ` _, err = o.Raw(sql, roleId, buttonId).Exec() return }