sys_role_menu.go 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. package service
  2. import (
  3. "github.com/go-admin-team/go-admin-core/sdk/service"
  4. )
  5. // SysRoleMenu 即将弃用结构体
  6. type SysRoleMenu struct {
  7. service.Service
  8. }
  9. //func (e *SysRoleMenu) ReloadRule(tx *gorm.DB, roleId int, menuId []int) (err error) {
  10. // var role models.SysRole
  11. //
  12. // msgID := e.MsgID
  13. //
  14. // menu := make([]models.Menu, 0)
  15. // roleMenu := make([]models.RoleMenu, len(menuId))
  16. // casbinRule := make([]models.CasbinRule, 0)
  17. // //先删除所有的
  18. // err = e.DeleteRoleMenu(tx, roleId)
  19. // if err != nil {
  20. // return
  21. // }
  22. //
  23. // // 在事务中做一些数据库操作(从这一点使用'tx',而不是'db')
  24. // err = tx.Where("role_id = ?", roleId).First(&role).Error
  25. // if err != nil {
  26. // log.Errorf("msgID[%s] get role error, %s", msgID, err.Error())
  27. // return
  28. // }
  29. // err = tx.Where("menu_id in (?)", menuId).
  30. // //Select("path, action, menu_id, menu_type").
  31. // Find(&menu).Error
  32. // if err != nil {
  33. // log.Errorf("msgID[%s] get menu error, %s", msgID, err.Error())
  34. // return
  35. // }
  36. // for i := range menu {
  37. // roleMenu[i] = models.RoleMenu{
  38. // RoleId: role.RoleId,
  39. // MenuId: menu[i].MenuId,
  40. // RoleName: role.RoleKey,
  41. // }
  42. // if menu[i].MenuType == "A" {
  43. // casbinRule = append(casbinRule, models.CasbinRule{
  44. // PType: "p",
  45. // V0: role.RoleKey,
  46. // V1: menu[i].Path,
  47. // V2: menu[i].Action,
  48. // })
  49. // }
  50. // }
  51. // err = tx.Create(&roleMenu).Error
  52. // if err != nil {
  53. // log.Errorf("msgID[%s] batch create role's menu error, %s", msgID, err.Error())
  54. // return
  55. // }
  56. // if len(casbinRule) > 0 {
  57. // err = tx.Create(&casbinRule).Error
  58. // if err != nil {
  59. // log.Errorf("msgID[%s] batch create casbin rule error, %s", msgID, err.Error())
  60. // return
  61. // }
  62. // }
  63. //
  64. // return
  65. //}
  66. //func (e *SysRoleMenu) DeleteRoleMenu(tx *gorm.DB, roleId int) (err error) {
  67. // msgID := e.MsgID
  68. // err = tx.Where("role_id = ?", roleId).
  69. // Delete(&models.SysRoleDept{}).Error
  70. // if err != nil {
  71. // log.Errorf("msgID[%s] delete role's dept error, %s", msgID, err.Error())
  72. // return
  73. // }
  74. // err = tx.Where("role_id = ?", roleId).
  75. // Delete(&models.RoleMenu{}).Error
  76. // if err != nil {
  77. // log.Errorf("msgID[%s] delete role's menu error, %s", msgID, err.Error())
  78. // return
  79. // }
  80. // var role models.SysRole
  81. // err = tx.Where("role_id = ?", roleId).
  82. // First(&role).Error
  83. // if err != nil {
  84. // log.Errorf("msgID[%s] get role error, %s", msgID, err.Error())
  85. // return
  86. // }
  87. // err = tx.Where("v0 = ?", role.RoleKey).
  88. // Delete(&models.CasbinRule{}).Error
  89. // if err != nil {
  90. // log.Errorf("msgID[%s] delete casbin rule error, %s", msgID, err.Error())
  91. // return
  92. // }
  93. // return
  94. //}
  95. //
  96. //func (e *SysRoleMenu) GetIDS(tx *gorm.DB, roleName string) ([]models.MenuPath, error) {
  97. // var r []models.MenuPath
  98. // table := tx.Select("sys_menu.path").Table("sys_role_menu")
  99. // table = table.Joins("left join sys_role on sys_role.role_id=sys_role_menu.role_id")
  100. // table = table.Joins("left join sys_menu on sys_menu.id=sys_role_menu.menu_id")
  101. // table = table.Where("sys_role.role_name = ? and sys_menu.type=1", roleName)
  102. // if err := table.Find(&r).Error; err != nil {
  103. // return nil, err
  104. // }
  105. // return r, nil
  106. //}