114 lines
3.4 KiB
Go
114 lines
3.4 KiB
Go
package controller
|
||
|
||
import (
|
||
"ai-agent/digital-human/model/dto"
|
||
"ai-agent/digital-human/service"
|
||
"context"
|
||
|
||
"gitea.com/red-future/common/beans"
|
||
"github.com/gogf/gf/v2/util/gconv"
|
||
)
|
||
|
||
type audio struct{}
|
||
|
||
// Audio 音频控制器
|
||
var Audio = new(audio)
|
||
|
||
// CreateAudio 创建音频
|
||
func (c *audio) CreateAudio(ctx context.Context, req *dto.CreateAudioReq) (res *dto.CreateAudioRes, err error) {
|
||
// 从上下文获取用户信息(gfdb Hook 会自动填充)
|
||
if ctx.Value("userId") == nil {
|
||
ctx = context.WithValue(ctx, "userId", gconv.String(1))
|
||
}
|
||
if ctx.Value("userName") == nil {
|
||
ctx = context.WithValue(ctx, "userName", "admin")
|
||
}
|
||
if ctx.Value("tenantId") == nil {
|
||
ctx = context.WithValue(ctx, "tenantId", uint64(1))
|
||
}
|
||
return service.Audio.Create(ctx, req)
|
||
}
|
||
|
||
// ListAudio 获取音频列表
|
||
func (c *audio) ListAudio(ctx context.Context, req *dto.ListAudioReq) (res *dto.ListAudioRes, err error) {
|
||
// 从上下文获取用户信息
|
||
if ctx.Value("userId") == nil {
|
||
ctx = context.WithValue(ctx, "userId", gconv.String(1))
|
||
}
|
||
if ctx.Value("userName") == nil {
|
||
ctx = context.WithValue(ctx, "userName", "admin")
|
||
}
|
||
if ctx.Value("tenantId") == nil {
|
||
ctx = context.WithValue(ctx, "tenantId", uint64(1))
|
||
}
|
||
return service.Audio.List(ctx, req)
|
||
}
|
||
|
||
// GetAudio 获取音频详情
|
||
func (c *audio) GetAudio(ctx context.Context, req *dto.GetAudioReq) (res *dto.GetAudioRes, err error) {
|
||
if ctx.Value("userId") == nil {
|
||
ctx = context.WithValue(ctx, "userId", gconv.String(1))
|
||
}
|
||
if ctx.Value("userName") == nil {
|
||
ctx = context.WithValue(ctx, "userName", "admin")
|
||
}
|
||
if ctx.Value("tenantId") == nil {
|
||
ctx = context.WithValue(ctx, "tenantId", uint64(1))
|
||
}
|
||
return service.Audio.GetOne(ctx, req.ID)
|
||
}
|
||
|
||
// UpdateAudio 更新音频
|
||
func (c *audio) UpdateAudio(ctx context.Context, req *dto.UpdateAudioReq) (res *beans.ResponseEmpty, err error) {
|
||
if ctx.Value("userId") == nil {
|
||
ctx = context.WithValue(ctx, "userId", gconv.String(1))
|
||
}
|
||
if ctx.Value("userName") == nil {
|
||
ctx = context.WithValue(ctx, "userName", "admin")
|
||
}
|
||
if ctx.Value("tenantId") == nil {
|
||
ctx = context.WithValue(ctx, "tenantId", uint64(1))
|
||
}
|
||
err = service.Audio.Update(ctx, req)
|
||
return
|
||
}
|
||
|
||
// DeleteAudio 删除音频
|
||
func (c *audio) DeleteAudio(ctx context.Context, req *dto.DeleteAudioReq) (res *beans.ResponseEmpty, err error) {
|
||
if ctx.Value("userId") == nil {
|
||
ctx = context.WithValue(ctx, "userId", gconv.String(1))
|
||
}
|
||
if ctx.Value("userName") == nil {
|
||
ctx = context.WithValue(ctx, "userName", "admin")
|
||
}
|
||
if ctx.Value("tenantId") == nil {
|
||
ctx = context.WithValue(ctx, "tenantId", uint64(1))
|
||
}
|
||
err = service.Audio.Delete(ctx, req.ID)
|
||
return
|
||
}
|
||
|
||
// GenerateAudio 重新生成音频
|
||
func (c *audio) GenerateAudio(ctx context.Context, req *dto.GenerateAudioReq) (res *dto.GenerateAudioRes, err error) {
|
||
if ctx.Value("userId") == nil {
|
||
ctx = context.WithValue(ctx, "userId", gconv.String(1))
|
||
}
|
||
if ctx.Value("userName") == nil {
|
||
ctx = context.WithValue(ctx, "userName", "admin")
|
||
}
|
||
if ctx.Value("tenantId") == nil {
|
||
ctx = context.WithValue(ctx, "tenantId", uint64(1))
|
||
}
|
||
return service.Audio.Generate(ctx, req)
|
||
}
|
||
|
||
// TTS 文本转语音
|
||
func (c *audio) TTS(ctx context.Context, req *dto.TTSReq) (res *dto.TTSRes, err error) {
|
||
return service.Audio.TTS(ctx, req)
|
||
}
|
||
|
||
// GetStatusOptions 获取状态选项
|
||
func (c *audio) GetStatusOptions(ctx context.Context, req *dto.GetAudioStatusOptionsReq) (res *dto.GetAudioStatusOptionsRes, err error) {
|
||
return service.Audio.GetStatusOptions(ctx, req)
|
||
}
|