Files
ai_proxy/server/service/app/ai_provider.go
2026-03-03 15:39:23 +08:00

44 lines
1.5 KiB
Go

package app
import (
"git.echol.cn/loser/ai_proxy/server/global"
"git.echol.cn/loser/ai_proxy/server/model/app"
"git.echol.cn/loser/ai_proxy/server/model/common/request"
)
type AiProviderService struct{}
// CreateAiProvider 创建提供商
func (s *AiProviderService) CreateAiProvider(provider *app.AiProvider) error {
return global.GVA_DB.Create(provider).Error
}
// DeleteAiProvider 删除提供商
func (s *AiProviderService) DeleteAiProvider(id uint, userID uint) error {
return global.GVA_DB.Where("id = ? AND user_id = ?", id, userID).Delete(&app.AiProvider{}).Error
}
// UpdateAiProvider 更新提供商
func (s *AiProviderService) UpdateAiProvider(provider *app.AiProvider, userID uint) error {
return global.GVA_DB.Where("user_id = ?", userID).Updates(provider).Error
}
// GetAiProvider 查询提供商
func (s *AiProviderService) GetAiProvider(id uint, userID uint) (provider app.AiProvider, err error) {
err = global.GVA_DB.Where("id = ? AND user_id = ?", id, userID).First(&provider).Error
return
}
// GetAiProviderList 获取提供商列表
func (s *AiProviderService) GetAiProviderList(info request.PageInfo, userID uint) (list []app.AiProvider, total int64, err error) {
limit := info.PageSize
offset := info.PageSize * (info.Page - 1)
db := global.GVA_DB.Model(&app.AiProvider{}).Where("user_id = ?", userID)
err = db.Count(&total).Error
if err != nil {
return
}
err = db.Limit(limit).Offset(offset).Order("priority desc, id desc").Find(&list).Error
return
}