58 lines
1.6 KiB
Go
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
|
||
}
|