From a6e6897f63cc68c5566f1229e52847248a3b5939 Mon Sep 17 00:00:00 2001 From: Xyfacai Date: Mon, 13 Oct 2025 11:45:45 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20Openai=20video=20model=20=E7=A7=BB?= =?UTF-8?q?=E5=8A=A8=E5=88=B0=20dto?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- relay/common/relay_video.go => dto/openai_video.go | 2 +- model/task.go | 11 ++++++----- relay/channel/adapter.go | 2 +- relay/channel/task/jimeng/adaptor.go | 8 ++++---- relay/channel/task/kling/adaptor.go | 8 ++++---- relay/channel/task/sora/adaptor.go | 4 ++-- relay/channel/task/vidu/adaptor.go | 8 ++++---- 7 files changed, 22 insertions(+), 21 deletions(-) rename relay/common/relay_video.go => dto/openai_video.go (99%) diff --git a/relay/common/relay_video.go b/dto/openai_video.go similarity index 99% rename from relay/common/relay_video.go rename to dto/openai_video.go index 6f7e9cd84..bee64c31f 100644 --- a/relay/common/relay_video.go +++ b/dto/openai_video.go @@ -1,4 +1,4 @@ -package common +package dto import ( "strconv" diff --git a/model/task.go b/model/task.go index d02be8ede..f47c44698 100644 --- a/model/task.go +++ b/model/task.go @@ -6,6 +6,7 @@ import ( "time" "github.com/QuantumNous/new-api/constant" + "github.com/QuantumNous/new-api/dto" commonRelay "github.com/QuantumNous/new-api/relay/common" ) @@ -15,15 +16,15 @@ func (t TaskStatus) ToVideoStatus() string { var status string switch t { case TaskStatusQueued, TaskStatusSubmitted: - status = commonRelay.VideoStatusQueued + status = dto.VideoStatusQueued case TaskStatusInProgress: - status = commonRelay.VideoStatusInProgress + status = dto.VideoStatusInProgress case TaskStatusSuccess: - status = commonRelay.VideoStatusCompleted + status = dto.VideoStatusCompleted case TaskStatusFailure: - status = commonRelay.VideoStatusFailed + status = dto.VideoStatusFailed default: - status = commonRelay.VideoStatusUnknown // Default fallback + status = dto.VideoStatusUnknown // Default fallback } return status } diff --git a/relay/channel/adapter.go b/relay/channel/adapter.go index 7fe18802e..7431a0646 100644 --- a/relay/channel/adapter.go +++ b/relay/channel/adapter.go @@ -53,5 +53,5 @@ type TaskAdaptor interface { } type OpenAIVideoConverter interface { - ConvertToOpenAIVideo(originTask *model.Task) (*relaycommon.OpenAIVideo, error) + ConvertToOpenAIVideo(originTask *model.Task) (*dto.OpenAIVideo, error) } diff --git a/relay/channel/task/jimeng/adaptor.go b/relay/channel/task/jimeng/adaptor.go index 0122e88dc..810f54bd7 100644 --- a/relay/channel/task/jimeng/adaptor.go +++ b/relay/channel/task/jimeng/adaptor.go @@ -158,7 +158,7 @@ func (a *TaskAdaptor) DoResponse(c *gin.Context, resp *http.Response, info *rela return } - ov := relaycommon.NewOpenAIVideo() + ov := dto.NewOpenAIVideo() ov.ID = jResp.Data.TaskID ov.TaskID = jResp.Data.TaskID ov.CreatedAt = time.Now().Unix() @@ -405,13 +405,13 @@ func (a *TaskAdaptor) ParseTaskResult(respBody []byte) (*relaycommon.TaskInfo, e return &taskResult, nil } -func (a *TaskAdaptor) ConvertToOpenAIVideo(originTask *model.Task) (*relaycommon.OpenAIVideo, error) { +func (a *TaskAdaptor) ConvertToOpenAIVideo(originTask *model.Task) (*dto.OpenAIVideo, error) { var jimengResp responseTask if err := json.Unmarshal(originTask.Data, &jimengResp); err != nil { return nil, errors.Wrap(err, "unmarshal jimeng task data failed") } - openAIVideo := relaycommon.NewOpenAIVideo() + openAIVideo := dto.NewOpenAIVideo() openAIVideo.ID = originTask.TaskID openAIVideo.Status = originTask.Status.ToVideoStatus() openAIVideo.SetProgressStr(originTask.Progress) @@ -420,7 +420,7 @@ func (a *TaskAdaptor) ConvertToOpenAIVideo(originTask *model.Task) (*relaycommon openAIVideo.CompletedAt = originTask.UpdatedAt if jimengResp.Code != 10000 { - openAIVideo.Error = &relaycommon.OpenAIVideoError{ + openAIVideo.Error = &dto.OpenAIVideoError{ Message: jimengResp.Message, Code: fmt.Sprintf("%d", jimengResp.Code), } diff --git a/relay/channel/task/kling/adaptor.go b/relay/channel/task/kling/adaptor.go index 54f41618d..81db82484 100644 --- a/relay/channel/task/kling/adaptor.go +++ b/relay/channel/task/kling/adaptor.go @@ -188,7 +188,7 @@ func (a *TaskAdaptor) DoResponse(c *gin.Context, resp *http.Response, info *rela taskErr = service.TaskErrorWrapperLocal(fmt.Errorf(kResp.Message), "task_failed", http.StatusBadRequest) return } - ov := relaycommon.NewOpenAIVideo() + ov := dto.NewOpenAIVideo() ov.ID = kResp.Data.TaskId ov.TaskID = kResp.Data.TaskId ov.CreatedAt = time.Now().Unix() @@ -367,13 +367,13 @@ func isNewAPIRelay(apiKey string) bool { return strings.HasPrefix(apiKey, "sk-") } -func (a *TaskAdaptor) ConvertToOpenAIVideo(originTask *model.Task) (*relaycommon.OpenAIVideo, error) { +func (a *TaskAdaptor) ConvertToOpenAIVideo(originTask *model.Task) (*dto.OpenAIVideo, error) { var klingResp responsePayload if err := json.Unmarshal(originTask.Data, &klingResp); err != nil { return nil, errors.Wrap(err, "unmarshal kling task data failed") } - openAIVideo := relaycommon.NewOpenAIVideo() + openAIVideo := dto.NewOpenAIVideo() openAIVideo.ID = originTask.TaskID openAIVideo.Status = originTask.Status.ToVideoStatus() openAIVideo.SetProgressStr(originTask.Progress) @@ -391,7 +391,7 @@ func (a *TaskAdaptor) ConvertToOpenAIVideo(originTask *model.Task) (*relaycommon } if klingResp.Code != 0 && klingResp.Message != "" { - openAIVideo.Error = &relaycommon.OpenAIVideoError{ + openAIVideo.Error = &dto.OpenAIVideoError{ Message: klingResp.Message, Code: fmt.Sprintf("%d", klingResp.Code), } diff --git a/relay/channel/task/sora/adaptor.go b/relay/channel/task/sora/adaptor.go index 89b51f560..5f16fbb03 100644 --- a/relay/channel/task/sora/adaptor.go +++ b/relay/channel/task/sora/adaptor.go @@ -186,8 +186,8 @@ func (a *TaskAdaptor) ParseTaskResult(respBody []byte) (*relaycommon.TaskInfo, e return &taskResult, nil } -func (a *TaskAdaptor) ConvertToOpenAIVideo(task *model.Task) (*relaycommon.OpenAIVideo, error) { - openAIVideo := &relaycommon.OpenAIVideo{} +func (a *TaskAdaptor) ConvertToOpenAIVideo(task *model.Task) (*dto.OpenAIVideo, error) { + openAIVideo := &dto.OpenAIVideo{} err := json.Unmarshal(task.Data, openAIVideo) if err != nil { return nil, errors.Wrap(err, "unmarshal to OpenAIVideo failed") diff --git a/relay/channel/task/vidu/adaptor.go b/relay/channel/task/vidu/adaptor.go index 6a961c7d5..b3108a245 100644 --- a/relay/channel/task/vidu/adaptor.go +++ b/relay/channel/task/vidu/adaptor.go @@ -155,7 +155,7 @@ func (a *TaskAdaptor) DoResponse(c *gin.Context, resp *http.Response, info *rela return } - ov := relaycommon.NewOpenAIVideo() + ov := dto.NewOpenAIVideo() ov.ID = vResp.TaskId ov.TaskID = vResp.TaskId ov.CreatedAt = time.Now().Unix() @@ -263,13 +263,13 @@ func (a *TaskAdaptor) ParseTaskResult(respBody []byte) (*relaycommon.TaskInfo, e return taskInfo, nil } -func (a *TaskAdaptor) ConvertToOpenAIVideo(originTask *model.Task) (*relaycommon.OpenAIVideo, error) { +func (a *TaskAdaptor) ConvertToOpenAIVideo(originTask *model.Task) (*dto.OpenAIVideo, error) { var viduResp taskResultResponse if err := json.Unmarshal(originTask.Data, &viduResp); err != nil { return nil, errors.Wrap(err, "unmarshal vidu task data failed") } - openAIVideo := relaycommon.NewOpenAIVideo() + openAIVideo := dto.NewOpenAIVideo() openAIVideo.ID = originTask.TaskID openAIVideo.Status = originTask.Status.ToVideoStatus() openAIVideo.SetProgressStr(originTask.Progress) @@ -281,7 +281,7 @@ func (a *TaskAdaptor) ConvertToOpenAIVideo(originTask *model.Task) (*relaycommon } if viduResp.State == "failed" && viduResp.ErrCode != "" { - openAIVideo.Error = &relaycommon.OpenAIVideoError{ + openAIVideo.Error = &dto.OpenAIVideoError{ Message: viduResp.ErrCode, Code: viduResp.ErrCode, }