fix: 1. session列表移除删除记录 2. 新增删除session记录接口

This commit is contained in:
fuzhongyun 2026-01-14 15:59:49 +08:00
parent 5d1649de96
commit d3fe7ded1a
5 changed files with 48 additions and 1 deletions

View File

@ -6,6 +6,7 @@ import (
"ai_scheduler/internal/data/impl"
"ai_scheduler/internal/data/model"
"ai_scheduler/internal/entitys"
"ai_scheduler/internal/pkg/util"
"context"
"time"
@ -151,9 +152,24 @@ func (s *SessionBiz) SessionList(ctx context.Context, req *entitys.SessionListRe
list, err = s.sessionRepo.FindAll(
s.sessionRepo.WithUserId(req.UserId), // 条件用户ID
s.sessionRepo.WithSysId(req.SysId), // 条件系统ID
s.sessionRepo.WithDeleteAt(), // 条件:未删除
s.sessionRepo.PaginateScope(req.Page, req.PageSize), // 分页
s.sessionRepo.OrderByDesc("create_at"), // 排序:按创建时间降序
)
return
}
// DeleteSession 删除会话
func (s *SessionBiz) DeleteSession(ctx context.Context, req *entitys.SessionDeleteRequest) error {
err := s.sessionRepo.Update(
&model.AiSession{
DeleteAt: util.AnyToPoint(time.Now()), // 设置删除时间
},
s.sessionRepo.WithSessionId(req.SessionId), // 条件会话ID
)
if err != nil {
return err
}
return nil
}

View File

@ -4,8 +4,9 @@ import (
"ai_scheduler/internal/data/model"
"ai_scheduler/tmpl/dataTemp"
"ai_scheduler/utils"
"gorm.io/gorm"
"time"
"gorm.io/gorm"
)
type SessionImpl struct {
@ -46,3 +47,10 @@ func (impl *SessionImpl) WithSessionId(sessionId interface{}) CondFunc {
return db.Where("session_id = ?", sessionId)
}
}
// WithDeletedAt 条件:是否删除
func (impl *SessionImpl) WithDeleteAt() CondFunc {
return func(db *gorm.DB) *gorm.DB {
return db.Where("delete_at IS NULL")
}
}

View File

@ -28,3 +28,7 @@ type UseFulRequest struct {
HisId int64 `json:"his_id"`
Useful int32 `json:"useful"`
}
type SessionDeleteRequest struct {
SessionId string `json:"session_id"`
}

View File

@ -59,6 +59,7 @@ func SetupRoutes(app *fiber.App, ChatService *services.ChatService, sessionServi
r.Post("/session/new", sessionService.NewSession)
r.Post("/session/init", sessionService.SessionInit) // 会话初始化,不存在则创建,存在则返回会话ID和默认条数会话历史
r.Post("/session/list", sessionService.SessionList)
r.Post("/session/delete", sessionService.DeleteSession) // 删除会话
r.Post("/sys/tasks", task.Tasks)
// 评价

View File

@ -69,3 +69,21 @@ func (s *SessionService) SessionList(c *fiber.Ctx) error {
"session_list": sessionList,
})
}
// DeleteSession 删除会话
func (s *SessionService) DeleteSession(c *fiber.Ctx) error {
req := &entitys.SessionDeleteRequest{}
if err := c.BodyParser(req); err != nil {
return err
}
err := s.sessionBiz.DeleteSession(c.Context(), req)
if err != nil {
return err
}
return c.JSON(fiber.Map{
"message": "success",
})
}