roleMenu.go 939 B

1234567891011121314151617181920212223242526272829303132333435
  1. package dao
  2. type RoleMenu struct {
  3. ID int `gorm:"primary_key" json:"id"` //编号
  4. MenuId int `gorm:"type:int" json:"menuId"` //菜单id
  5. RoleId int `gorm:"type:int" json:"roleId"` //角色id
  6. }
  7. func (RoleMenu) TableName() string {
  8. return "role_menu"
  9. }
  10. func (c *RoleMenu) Save() error {
  11. return Db.Model(&c).Save(&c).Error
  12. }
  13. func (c *RoleMenu) BatchSave(menus []RoleMenu) error {
  14. return Db.Model(&c).Save(&menus).Error
  15. }
  16. func (c *RoleMenu) DeleteRoleIds(roleIds []int) error {
  17. return Db.Model(&c).Where("role_id in ?", roleIds).Delete(&c).Error
  18. }
  19. func (c *RoleMenu) GetMenusByRole() ([]RoleMenu, error) {
  20. var menus []RoleMenu
  21. err := Db.Table("role_menu").Select("distinct menu_id").Where("role_id = ?", c.RoleId).Find(&menus).Error
  22. return menus, err
  23. }
  24. func (c *RoleMenu) GetAll() ([]RoleMenu, error) {
  25. var menus []RoleMenu
  26. err := Db.Table("role_menu").Select("distinct menu_id").Find(&menus).Error
  27. return menus, err
  28. }