Files
video-factory/shortdrama/controller/generation_controller.go
T
2026-07-14 11:49:30 +08:00

42 lines
1.4 KiB
Go

package controller
import (
"context"
consts "video-factory/shortdrama/consts"
"video-factory/shortdrama/model/dto"
"video-factory/shortdrama/service"
)
// ==================== Generation ====================
func (c *drama) GenerateEpisode(ctx context.Context, req *dto.GenerateEpisodeReq) (res *struct{}, err error) {
return nil, service.DramaService.GenerateEpisode(ctx, req.DramaId, req.EpId, req.Mode)
}
func (c *drama) ContinueSegment(ctx context.Context, req *dto.ContinueSegmentReq) (res *struct{}, err error) {
return nil, service.DramaService.ContinueSegment(ctx, req.TaskId)
}
func (c *drama) FeedbackSegment(ctx context.Context, req *dto.FeedbackSegmentReq) (res *struct{}, err error) {
return nil, service.DramaService.FeedbackSegment(ctx, req.TaskId, req.Feedback)
}
func (c *drama) GetEpisodeTask(ctx context.Context, req *dto.GetEpisodeTaskReq) (res *dto.GetEpisodeTaskRes, err error) {
tasks, err := service.DramaService.ListEpisodeTasks(ctx, req.EpId)
if err != nil {
return nil, err
}
var currentTaskId int64
for _, t := range tasks {
if t.Status == consts.TaskStatusReview {
currentTaskId = t.Id
break
}
}
return &dto.GetEpisodeTaskRes{Tasks: tasks, CurrentTaskId: currentTaskId}, nil
}
func (c *drama) GetEpisodePollStatus(ctx context.Context, req *dto.EpisodePollReq) (res *dto.EpisodePollRes, err error) {
return service.DramaService.GetEpisodePollStatus(ctx, req.EpId)
}