package controller import ( "context" consts "video-factory/shortdrama/consts" "video-factory/shortdrama/model/dto" "video-factory/shortdrama/service" ) type generation struct{} var Generation = new(generation) func (c *generation) GenerateEpisode(ctx context.Context, req *dto.GenerateEpisodeReq) (res *struct{}, err error) { return nil, service.GenerationService.GenerateEpisode(ctx, req.DramaId, req.EpId, req.Mode) } func (c *generation) ContinueSegment(ctx context.Context, req *dto.ContinueSegmentReq) (res *struct{}, err error) { return nil, service.GenerationService.ContinueSegment(ctx, req.TaskId) } func (c *generation) FeedbackSegment(ctx context.Context, req *dto.FeedbackSegmentReq) (res *struct{}, err error) { return nil, service.GenerationService.FeedbackSegment(ctx, req.TaskId, req.Feedback) } func (c *generation) GetEpisodeTask(ctx context.Context, req *dto.GetEpisodeTaskReq) (res *dto.GetEpisodeTaskRes, err error) { tasks, err := service.GenerationService.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 *generation) GetEpisodePollStatus(ctx context.Context, req *dto.EpisodePollReq) (res *dto.EpisodePollRes, err error) { return service.GenerationService.GetEpisodePollStatus(ctx, req.EpId) }