From 810e5f2437b8517688ce66ddbf9ee7f632bb2364 Mon Sep 17 00:00:00 2001 From: yokowu <18836617@qq.com> Date: Fri, 4 Jul 2025 17:24:31 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BF=AE=E6=94=B9=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E8=A1=A5=E5=85=A8=E9=87=87=E7=BA=B3=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/domain/proxy.go | 1 + backend/internal/proxy/repo/proxy.go | 20 ++++++++++++++++++++ backend/internal/proxy/usecase/proxy.go | 6 +----- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/backend/domain/proxy.go b/backend/domain/proxy.go index 2b0bdbb..e13dfc0 100644 --- a/backend/domain/proxy.go +++ b/backend/domain/proxy.go @@ -28,6 +28,7 @@ type ProxyUsecase interface { type ProxyRepo interface { Record(ctx context.Context, record *RecordParam) error UpdateByTaskID(ctx context.Context, taskID string, fn func(*db.TaskUpdateOne)) error + AcceptCompletion(ctx context.Context, req *AcceptCompletionReq) error SelectModelWithLoadBalancing(modelName string, modelType consts.ModelType) (*db.Model, error) ValidateApiKey(ctx context.Context, key string) (*db.ApiKey, error) } diff --git a/backend/internal/proxy/repo/proxy.go b/backend/internal/proxy/repo/proxy.go index 4b90d14..2a560fc 100644 --- a/backend/internal/proxy/repo/proxy.go +++ b/backend/internal/proxy/repo/proxy.go @@ -133,3 +133,23 @@ func (r *ProxyRepo) UpdateByTaskID(ctx context.Context, taskID string, fn func(* return up.Exec(ctx) }) } + +func (r *ProxyRepo) AcceptCompletion(ctx context.Context, req *domain.AcceptCompletionReq) error { + return entx.WithTx(ctx, r.db, func(tx *db.Tx) error { + rc, err := tx.Task.Query().Where(task.TaskID(req.ID)).Only(ctx) + if err != nil { + return err + } + + if err := tx.Task.UpdateOneID(rc.ID). + SetIsAccept(true). + SetCompletion(req.Completion). + Exec(ctx); err != nil { + return err + } + + return tx.TaskRecord.Update(). + Where(taskrecord.TaskID(rc.ID)). + SetCompletion(req.Completion).Exec(ctx) + }) +} diff --git a/backend/internal/proxy/usecase/proxy.go b/backend/internal/proxy/usecase/proxy.go index 22020e5..2a39f54 100644 --- a/backend/internal/proxy/usecase/proxy.go +++ b/backend/internal/proxy/usecase/proxy.go @@ -6,7 +6,6 @@ import ( "github.com/chaitin/MonkeyCode/backend/pkg/cvt" "github.com/chaitin/MonkeyCode/backend/consts" - "github.com/chaitin/MonkeyCode/backend/db" "github.com/chaitin/MonkeyCode/backend/domain" ) @@ -40,8 +39,5 @@ func (p *ProxyUsecase) ValidateApiKey(ctx context.Context, key string) (*domain. } func (p *ProxyUsecase) AcceptCompletion(ctx context.Context, req *domain.AcceptCompletionReq) error { - return p.repo.UpdateByTaskID(ctx, req.ID, func(ruo *db.TaskUpdateOne) { - ruo.SetIsAccept(true) - ruo.SetCompletion(req.Completion) - }) + return p.repo.AcceptCompletion(ctx, req) }