From 977a4bd9eab3f39868b8c9fcca2f73940120f97c Mon Sep 17 00:00:00 2001 From: yokowu <18836617@qq.com> Date: Wed, 2 Jul 2025 09:52:01 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20=E6=B3=A8=E5=86=8C=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E7=94=A8=E6=88=B7=E5=90=8D=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/docs/swagger.json | 10 ++++++++++ backend/domain/user.go | 7 ++++--- backend/internal/user/repo/user.go | 1 + backend/internal/user/usecase/user.go | 9 +++------ 4 files changed, 18 insertions(+), 9 deletions(-) diff --git a/backend/docs/swagger.json b/backend/docs/swagger.json index 89063ed..6a064cb 100644 --- a/backend/docs/swagger.json +++ b/backend/docs/swagger.json @@ -2464,6 +2464,12 @@ }, "domain.RegisterReq": { "type": "object", + "required": [ + "code", + "email", + "password", + "username" + ], "properties": { "code": { "description": "邀请码", @@ -2476,6 +2482,10 @@ "password": { "description": "密码", "type": "string" + }, + "username": { + "description": "用户名", + "type": "string" } } }, diff --git a/backend/domain/user.go b/backend/domain/user.go index 45f811d..9854cb8 100644 --- a/backend/domain/user.go +++ b/backend/domain/user.go @@ -95,9 +95,10 @@ type ListReq struct { } type RegisterReq struct { - Email string `json:"email"` // 邮箱 - Password string `json:"password"` // 密码 - Code string `json:"code"` // 邀请码 + Username string `json:"username" validate:"required"` // 用户名 + Email string `json:"email" validate:"required"` // 邮箱 + Password string `json:"password" validate:"required"` // 密码 + Code string `json:"code" validate:"required"` // 邀请码 } type ListLoginHistoryResp struct { diff --git a/backend/internal/user/repo/user.go b/backend/internal/user/repo/user.go index 825306e..34d46d4 100644 --- a/backend/internal/user/repo/user.go +++ b/backend/internal/user/repo/user.go @@ -74,6 +74,7 @@ func (r *UserRepo) CreateUser(ctx context.Context, user *db.User) (*db.User, err SetEmail(user.Email). SetPassword(user.Password). SetStatus(user.Status). + SetPlatform(user.Platform). Save(ctx) } diff --git a/backend/internal/user/usecase/user.go b/backend/internal/user/usecase/user.go index aac64f1..ff936cc 100644 --- a/backend/internal/user/usecase/user.go +++ b/backend/internal/user/usecase/user.go @@ -6,7 +6,6 @@ import ( "fmt" "log/slog" "net/url" - "strings" "time" "github.com/google/uuid" @@ -136,14 +135,12 @@ func (u *UserUsecase) Register(ctx context.Context, req *domain.RegisterReq) (*d if err != nil { return nil, err } - parts := strings.Split(req.Email, "@") - if len(parts) != 2 { - return nil, errcode.ErrEmailInvalid - } user := &db.User{ - Username: parts[0], + Username: req.Username, Email: req.Email, Password: string(hash), + Status: consts.UserStatusActive, + Platform: consts.UserPlatformEmail, } n, err := u.repo.CreateUser(ctx, user) if err != nil { From f01c48919784d214505d7e0e9f74407aebf7ade9 Mon Sep 17 00:00:00 2001 From: yokowu <18836617@qq.com> Date: Wed, 2 Jul 2025 12:05:12 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat:=20=E8=A1=A5=E5=85=A8=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E8=BF=94=E5=9B=9E=E6=8F=90=E7=A4=BA=E8=AF=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/docs/swagger.json | 3 +++ backend/domain/billing.go | 2 ++ 2 files changed, 5 insertions(+) diff --git a/backend/docs/swagger.json b/backend/docs/swagger.json index 6a064cb..d0d438c 100644 --- a/backend/docs/swagger.json +++ b/backend/docs/swagger.json @@ -2008,6 +2008,9 @@ }, "id": { "type": "string" + }, + "prompt": { + "type": "string" } } }, diff --git a/backend/domain/billing.go b/backend/domain/billing.go index 64bee84..6a9c2c7 100644 --- a/backend/domain/billing.go +++ b/backend/domain/billing.go @@ -87,6 +87,7 @@ func (c *CompletionRecord) From(e *db.Task) *CompletionRecord { type CompletionInfo struct { ID string `json:"id"` + Prompt string `json:"prompt"` Content string `json:"content"` CreatedAt int64 `json:"created_at"` } @@ -96,6 +97,7 @@ func (c *CompletionInfo) From(e *db.Task) *CompletionInfo { return c } c.ID = e.TaskID + c.Prompt = e.Prompt c.Content = e.Completion c.CreatedAt = e.CreatedAt.Unix() return c