hospital-admin-api/api/dao/adminRoleMenu.go
2023-07-21 10:29:09 +08:00

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
}