Files
video-factory/shortdrama/controller/config_controller.go
T
2026-07-01 12:41:16 +08:00

45 lines
1.3 KiB
Go

package controller
import (
"context"
"fmt"
"video-factory/shortdrama/model/dto"
"video-factory/shortdrama/model/entity"
"video-factory/shortdrama/service"
)
type config struct{}
var Config = new(config)
func (c *config) Get(ctx context.Context, req *dto.GetModelConfigReq) (res *dto.GetModelConfigRes, err error) {
cfg := service.ConfigService.Get(ctx)
return &dto.GetModelConfigRes{ModelConfig: cfg}, nil
}
func (c *config) Save(ctx context.Context, req *dto.SaveModelConfigReq) (res *struct{}, err error) {
if req.MinSingleDuration > 0 || req.MaxSingleDuration > 0 {
if req.MaxSingleDuration < 1 {
return nil, fmt.Errorf("单段最大时长必须大于等于1")
}
if req.MinSingleDuration < 1 {
return nil, fmt.Errorf("单段最小时长必须大于等于1")
}
}
cfg := &entity.ModelConfig{
ChatApiKey: req.ChatApiKey,
ChatBaseUrl: req.ChatBaseUrl,
ChatModelName: req.ChatModelName,
MaxTokens: req.MaxTokens,
Temperature: req.Temperature,
VideoApiKey: req.VideoApiKey,
VideoBaseUrl: req.VideoBaseUrl,
VideoModelName: req.VideoModelName,
MinSingleDuration: req.MinSingleDuration,
MaxSingleDuration: req.MaxSingleDuration,
VideoModelCategory: req.VideoModelCategory,
}
return nil, service.ConfigService.Save(ctx, cfg)
}