2023-06-30 14:54:43 +08:00

86 lines
2.1 KiB
Go

package dao
import (
"gorm.io/gorm"
"hospital-admin-api/api/model"
"hospital-admin-api/api/requests"
"hospital-admin-api/global"
)
type AdminApiDao struct {
}
// GetAdminApiById 获取接口数据-接口id
func (r *AdminApiDao) GetAdminApiById(apiId int64) (m *model.AdminAPI, err error) {
err = global.Db.First(&m, apiId).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetAdminApiPageSearch 获取接口列表-分页
func (r *AdminApiDao) GetAdminApiPageSearch(getApiPage requests.GetApiPage, page, pageSize int) (m []*model.AdminAPI, total int64, err error) {
var totalRecords int64
// 构建查询条件
query := global.Db.Model(&model.AdminAPI{})
if getApiPage.ApiName != "" {
query = query.Where("api_name like ?", "%"+getApiPage.ApiName+"%")
}
if getApiPage.ApiMethod != "" {
query = query.Where("api_method like ?", "%"+getApiPage.ApiMethod+"%")
}
if getApiPage.ApiPath != "" {
query = query.Where("api_path like ?", "%"+getApiPage.ApiPath+"%")
}
// 查询总数量
if err := query.Count(&totalRecords).Error; err != nil {
return nil, 0, err
}
err = query.Scopes(model.Paginate(page, pageSize)).Find(&m).Error
if err != nil {
return nil, 0, err
}
return m, totalRecords, nil
}
// AddAdminApi 新增接口
func (r *AdminApiDao) AddAdminApi(tx *gorm.DB, model *model.AdminAPI) (*model.AdminAPI, error) {
if err := tx.Create(model).Error; err != nil {
return nil, err
}
return model, nil
}
// GetAdminApiList 获取接口列表
func (r *AdminApiDao) GetAdminApiList(maps interface{}) (m []*model.AdminAPI, err error) {
err = global.Db.Where(maps).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// DeleteAdminApiById 删除接口-接口id
func (r *AdminApiDao) DeleteAdminApiById(tx *gorm.DB, apiId int64) error {
if err := tx.Delete(&model.AdminAPI{}, apiId).Error; err != nil {
return err
}
return nil
}
// EditAdminApiById 修改接口-接口id
func (r *AdminApiDao) EditAdminApiById(tx *gorm.DB, apiId int64, data interface{}) error {
err := tx.Model(&model.AdminAPI{}).Where("api_id = ?", apiId).Updates(data).Error
if err != nil {
return err
}
return nil
}