From c96ee6cc38f470627c00616a24d7f838111a8f8b Mon Sep 17 00:00:00 2001 From: fuzhongyun <15339891972@163.com> Date: Wed, 14 Jan 2026 16:22:41 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E9=87=8D=E5=91=BD?= =?UTF-8?q?=E5=90=8Dsession=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/biz/session.go | 14 ++++++++++++++ internal/entitys/session.go | 5 +++++ internal/server/router/router.go | 1 + internal/services/session.go | 23 +++++++++++++++++++++++ 4 files changed, 43 insertions(+) diff --git a/internal/biz/session.go b/internal/biz/session.go index 39f4060..2886bf1 100644 --- a/internal/biz/session.go +++ b/internal/biz/session.go @@ -173,3 +173,17 @@ func (s *SessionBiz) DeleteSession(ctx context.Context, req *entitys.SessionDele } return nil } + +// RenameSession 会话重命名 +func (s *SessionBiz) RenameSession(ctx context.Context, req *entitys.SessionRenameRequest) error { + err := s.sessionRepo.Update( + &model.AiSession{ + Title: req.NewName, // 设置会话名称 + }, + s.sessionRepo.WithSessionId(req.SessionId), // 条件:会话ID + ) + if err != nil { + return err + } + return nil +} diff --git a/internal/entitys/session.go b/internal/entitys/session.go index cc91218..4ada0a0 100644 --- a/internal/entitys/session.go +++ b/internal/entitys/session.go @@ -32,3 +32,8 @@ type UseFulRequest struct { type SessionDeleteRequest struct { SessionId string `json:"session_id"` } + +type SessionRenameRequest struct { + SessionId string `json:"session_id"` + NewName string `json:"new_name"` +} diff --git a/internal/server/router/router.go b/internal/server/router/router.go index 3ec0b53..17fff12 100644 --- a/internal/server/router/router.go +++ b/internal/server/router/router.go @@ -60,6 +60,7 @@ func SetupRoutes(app *fiber.App, ChatService *services.ChatService, sessionServi r.Post("/session/init", sessionService.SessionInit) // 会话初始化,不存在则创建,存在则返回会话ID和默认条数会话历史 r.Post("/session/list", sessionService.SessionList) r.Post("/session/delete", sessionService.DeleteSession) // 删除会话 + r.Post("/session/rename", sessionService.RenameSession) // 会话重命名 r.Post("/sys/tasks", task.Tasks) // 评价 diff --git a/internal/services/session.go b/internal/services/session.go index 440ee32..ccf58af 100644 --- a/internal/services/session.go +++ b/internal/services/session.go @@ -2,7 +2,9 @@ package services import ( "ai_scheduler/internal/biz" + errorcode "ai_scheduler/internal/data/error" "ai_scheduler/internal/entitys" + "net/http" "github.com/gofiber/fiber/v2" ) @@ -87,3 +89,24 @@ func (s *SessionService) DeleteSession(c *fiber.Ctx) error { "message": "success", }) } + +// RenameSession 会话重命名 +func (s *SessionService) RenameSession(c *fiber.Ctx) error { + req := &entitys.SessionRenameRequest{} + if err := c.BodyParser(req); err != nil { + return err + } + if req.SessionId == "" || req.NewName == "" { + return errorcode.NewBusinessErr(http.StatusBadRequest, "新会话名称不能为空") + } + + err := s.sessionBiz.RenameSession(c.Context(), req) + + if err != nil { + return err + } + + return c.JSON(fiber.Map{ + "message": "success", + }) +}