67 lines
1.8 KiB
Go
67 lines
1.8 KiB
Go
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
|
|
}
|