sys_menu_button.go 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. package system
  2. import (
  3. "eta/eta_api/global"
  4. "eta/eta_api/utils"
  5. "time"
  6. )
  7. type SysMenuButton struct {
  8. MenuButtonId int `orm:"column(menu_button_id);pk" gorm:"primaryKey" description:"菜单按钮id"`
  9. MenuId int
  10. ButtonName int
  11. CreateTime time.Time
  12. }
  13. type SysMenuButtonItem struct {
  14. MenuButtonId int `description:"菜单按钮id"`
  15. MenuId int `description:"菜单id"`
  16. ButtonName string `description:"按钮名称"`
  17. }
  18. func GetSysMenuButtonItems(menuId int) (items []*SysMenuButtonItem, err error) {
  19. sql := ` SELECT * FROM sys_menu_button WHERE menu_id=? `
  20. err = global.DbMap[utils.DbNameMaster].Raw(sql, menuId).Find(&items).Error
  21. return
  22. }
  23. type MenuButtonsResp struct {
  24. List []*ButtonMenu
  25. CheckList []*int
  26. }
  27. func AddSysMenuButton(item *SysMenuButton) (lastId int64, err error) {
  28. o := global.DbMap[utils.DbNameMaster]
  29. err = o.Create(item).Error
  30. if err != nil {
  31. return
  32. }
  33. lastId = int64(item.MenuButtonId)
  34. return
  35. }
  36. type SysRoleButton struct {
  37. Id int `orm:"column(id);pk" gorm:"primaryKey" description:"关联id"`
  38. RoleId int
  39. MenuButtonId int
  40. CreateTime time.Time
  41. }
  42. func AddSysRoleButton(item *SysRoleButton) (lastId int64, err error) {
  43. o := global.DbMap[utils.DbNameMaster]
  44. err = o.Create(item).Error
  45. if err != nil {
  46. return
  47. }
  48. lastId = int64(item.Id)
  49. return
  50. }
  51. func GetRoleButtonCheck(roleId int) (items []*SysRoleButton, err error) {
  52. sql := `SELECT b.* FROM sys_menu_button AS a
  53. INNER JOIN sys_role_button AS b ON a.menu_button_id=b.menu_button_id
  54. WHERE b.role_id=?`
  55. o := global.DbMap[utils.DbNameMaster]
  56. err = o.Raw(sql, roleId).Find(&items).Error
  57. return
  58. }
  59. type ButtonMenu struct {
  60. MenuId int `description:"导航唯一标识"`
  61. Name string `json:"name" description:"导航名称"`
  62. List []*SysMenuButtonItem
  63. }
  64. func GetButtonMenu() (items []*ButtonMenu, err error) {
  65. sql := `SELECT b.menu_id,b.name FROM sys_menu_button AS a
  66. INNER JOIN sys_menu AS b ON a.menu_id=b.menu_id
  67. GROUP BY b.menu_id `
  68. o := global.DbMap[utils.DbNameMaster]
  69. err = o.Raw(sql).Find(&items).Error
  70. return
  71. }
  72. func DeleteSysRoleButton(roleId int) (err error) {
  73. o := global.DbMap[utils.DbNameMaster]
  74. sql := `DELETE FROM sys_role_button WHERE role_id=? `
  75. err = o.Exec(sql, roleId).Error
  76. return
  77. }
  78. func GetSysRoleButtonCount(roleId, buttonId int) (count int, err error) {
  79. o := global.DbMap[utils.DbNameMaster]
  80. sql := `SELECT COUNT(1) AS count FROM sys_role_button WHERE role_id=? AND menu_button_id=? `
  81. err = o.Raw(sql, roleId, buttonId).Error
  82. return
  83. }