Files
hospital-admin-api/api/dao/adminMenuApi.go
T

58 lines
1.6 KiB
Go

package dao
import (
"gorm.io/gorm"
"hospital-admin-api/api/model"
"hospital-admin-api/global"
)
type AdminMenuApiDao struct {
}
// GetAdminMenuApiListByMenuID 获取菜单api-菜单id
// menuId 菜单id
func (r *AdminMenuApiDao) GetAdminMenuApiListByMenuID(menuId int64) (m []*model.AdminMenuApi, err error) {
err = global.Db.Where("menu_id = ?", menuId).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetAdminMenuApiListWithAPIByMenuID 获取菜单api,关联api模型-菜单id
func (r *AdminMenuApiDao) GetAdminMenuApiListWithAPIByMenuID(menuId int64) (m []*model.AdminMenuApi, err error) {
err = global.Db.Where("menu_id = ?", menuId).Preload("API").Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// AddAdminMenuApi 新增菜单api
func (r *AdminMenuApiDao) AddAdminMenuApi(tx *gorm.DB, model *model.AdminMenuApi) (*model.AdminMenuApi, error) {
if err := tx.Create(model).Error; err != nil {
return nil, err
}
return model, nil
}
// DeleteAdminMenuApiByMenuId 删除菜单关联api-菜单id
func (r *AdminMenuApiDao) DeleteAdminMenuApiByMenuId(tx *gorm.DB, menuId int64) error {
if err := tx.Where("menu_id = ?", menuId).Delete(&model.AdminMenuApi{}).Error; err != nil {
return err
}
return nil
}
// GetAdminMenuApiApiIdByMenuId 获取菜单接口id-菜单id
func (r *AdminMenuApiDao) GetAdminMenuApiApiIdByMenuId(menuId int64) (m []int64, err error) {
err = global.Db.Model(&model.AdminRoleMenu{}).
Where("menu_id = ?", menuId).
Pluck("api_id", &m).
Error
if err != nil {
return nil, err
}
return m, nil
}