package dao import ( "gorm.io/gorm" "hospital-admin-api/api/model" "hospital-admin-api/global" ) type AdminRoleMenuDao struct { } // GetAdminRoleMenuListByRoleId 获取角色菜单-角色id // roleId 角色id func (r *AdminRoleMenuDao) GetAdminRoleMenuListByRoleId(roleId int64) (m []*model.AdminRoleMenu, err error) { err = global.Db.Where("role_id = ?", roleId).Find(&m).Error if err != nil { return nil, err } return m, nil } // GetAdminRoleMenuListWithMenuByRoleId 获取角色菜单 func (r *AdminRoleMenuDao) GetAdminRoleMenuListWithMenuByRoleId(roleId int64) (m []*model.AdminRoleMenu, err error) { err = global.Db.Where("role_id = ?", roleId).Preload("Menu").Find(&m).Error if err != nil { return nil, err } return m, nil } // GetAdminRoleMenuIdByRoleId 获取角色菜单id-角色id // roleId 角色id func (r *AdminRoleMenuDao) GetAdminRoleMenuIdByRoleId(roleId int64) (m []int64, err error) { err = global.Db.Model(&model.AdminRoleMenu{}). Where("role_id = ?", roleId). Pluck("menu_id", &m). Error if err != nil { return nil, err } return m, nil } // AddAdminRoleMenu 新增角色菜单 func (r *AdminRoleMenuDao) AddAdminRoleMenu(tx *gorm.DB, model *model.AdminRoleMenu) (*model.AdminRoleMenu, error) { if err := tx.Create(model).Error; err != nil { return nil, err } return model, nil } // DeleteAdminRoleMenuByRoleId 删除角色菜单 func (r *AdminRoleMenuDao) DeleteAdminRoleMenuByRoleId(tx *gorm.DB, roleId int64) error { if err := tx.Where("role_id = ?", roleId).Delete(&model.AdminRoleMenu{}).Error; err != nil { return err } return nil } // DeleteAdminRoleMenuByMenuId 删除角色菜单 func (r *AdminRoleMenuDao) DeleteAdminRoleMenuByMenuId(tx *gorm.DB, menuId int64) error { if err := tx.Where("menu_id = ?", menuId).Delete(&model.AdminRoleMenu{}).Error; err != nil { return err } return nil }