2023-07-21 09:28:24 +08:00

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
}