86 lines
2.1 KiB
Go
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
|
|
}
|