128 lines
3.6 KiB
Go
128 lines
3.6 KiB
Go
package dao
|
|
|
|
import (
|
|
"gorm.io/gorm"
|
|
"hospital-admin-api/api/model"
|
|
"hospital-admin-api/global"
|
|
)
|
|
|
|
type AdminMenuDao struct {
|
|
}
|
|
|
|
// GetAdminMenuList 获取菜单列表
|
|
func (r *AdminMenuDao) GetAdminMenuList() (m []*model.AdminMenu, err error) {
|
|
err = global.Db.Find(&m).Error
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return m, nil
|
|
}
|
|
|
|
// GetAdminMenuListSortOrderNum 获取菜单列表-排序
|
|
func (r *AdminMenuDao) GetAdminMenuListSortOrderNum() (m []*model.AdminMenu, err error) {
|
|
err = global.Db.Order("order_num asc").Find(&m).Error
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return m, nil
|
|
}
|
|
|
|
// GetAdminMenuListByParentId 获取菜单数据-菜单id
|
|
func (r *AdminMenuDao) GetAdminMenuListByParentId(parentId int64) (m []*model.AdminMenu, err error) {
|
|
err = global.Db.Where("parent_id = ?", parentId).Find(&m).Error
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return m, nil
|
|
}
|
|
|
|
// GetAdminMenuById 获取菜单数据-菜单id
|
|
func (r *AdminMenuDao) GetAdminMenuById(menuId int64) (m *model.AdminMenu, err error) {
|
|
err = global.Db.First(&m, menuId).Error
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return m, nil
|
|
}
|
|
|
|
// GetAdminMenuByParentId 获取菜单数据-菜单id
|
|
func (r *AdminMenuDao) GetAdminMenuByParentId(parentId int64) (m *model.AdminMenu, err error) {
|
|
err = global.Db.Where("parent_id = ?", parentId).First(&m).Error
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return m, nil
|
|
}
|
|
|
|
// GetAdminMenuListNormalSortOrderNum 获取全部正常菜单列表-排序
|
|
func (r *AdminMenuDao) GetAdminMenuListNormalSortOrderNum() (m []*model.AdminMenu, err error) {
|
|
err = global.Db.Where("menu_status = ?", 1).Order("order_num asc").Find(&m).Error
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return m, nil
|
|
}
|
|
|
|
// GetAdminMenuListNonButtonNormalSortOrderNum 获取全部正常非按钮菜单列表-排序
|
|
func (r *AdminMenuDao) GetAdminMenuListNonButtonNormalSortOrderNum() (m []*model.AdminMenu, err error) {
|
|
err = global.Db.Where("menu_status = ?", 1).Where("menu_type != ?", 3).Order("order_num asc").Find(&m).Error
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return m, nil
|
|
}
|
|
|
|
// GetAdminMenuListButtonNormalSortOrderNum 获取全部正常按钮菜单列表-排序
|
|
func (r *AdminMenuDao) GetAdminMenuListButtonNormalSortOrderNum() (m []*model.AdminMenu, err error) {
|
|
err = global.Db.Where("menu_status = ?", 1).Where("menu_type = ?", 3).Order("order_num asc").Find(&m).Error
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return m, nil
|
|
}
|
|
|
|
// AddAdminMenu 新增菜单
|
|
func (r *AdminMenuDao) AddAdminMenu(tx *gorm.DB, model *model.AdminMenu) (*model.AdminMenu, error) {
|
|
if err := tx.Create(model).Error; err != nil {
|
|
return nil, err
|
|
}
|
|
return model, nil
|
|
}
|
|
|
|
// EditAdminMenuByIdWithStruct 修改菜单-struct
|
|
func (r *AdminMenuDao) EditAdminMenuByIdWithStruct(tx *gorm.DB, menuId int64, model *model.AdminMenu) error {
|
|
err := tx.Where("menu_id = ?", menuId).Updates(model).Error
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// DeleteAdminMenuByMenuId 删除菜单
|
|
func (r *AdminMenuDao) DeleteAdminMenuByMenuId(tx *gorm.DB, menuId int64) error {
|
|
if err := tx.Delete(&model.AdminMenu{}, menuId).Error; err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// GetAdminMenuId 获取所有菜单id
|
|
func (r *AdminMenuDao) GetAdminMenuId() (m []int64, err error) {
|
|
err = global.Db.Model(&model.AdminMenu{}).
|
|
Pluck("menu_id", &m).
|
|
Error
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return m, nil
|
|
}
|
|
|
|
// GetAdminMenuListByIdWithIn 获取全部正常菜单列表-in
|
|
func (r *AdminMenuDao) GetAdminMenuListByIdWithIn(menuIds []int64) (m []*model.AdminMenu, err error) {
|
|
err = global.Db.Where("menu_id in ?", menuIds).Where("menu_status = ?", 1).Order("order_num asc").Find(&m).Error
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return m, nil
|
|
}
|