ai_scheduler/internal/services/session.go

46 lines
1004 B
Go

package services
import (
"ai_scheduler/internal/biz"
"ai_scheduler/internal/entitys"
"github.com/gofiber/fiber/v2"
)
type SessionService struct {
sessionBiz *biz.SessionBiz
chatBiz *biz.ChatHistoryBiz
}
func NewSessionService(sessionBiz *biz.SessionBiz, chatBiz *biz.ChatHistoryBiz) *SessionService {
return &SessionService{
sessionBiz: sessionBiz,
chatBiz: chatBiz,
}
}
// SessionInit 初始化会话
func (s *SessionService) SessionInit(c *fiber.Ctx) error {
req := &entitys.SessionInitRequest{}
if err := c.BodyParser(req); err != nil {
return err
}
result, err := s.sessionBiz.SessionInit(c.Context(), req)
return handRes(c, err, result)
}
// SessionList 获取会话列表
func (s *SessionService) SessionList(c *fiber.Ctx) error {
req := &entitys.SessionListRequest{}
if err := c.BodyParser(req); err != nil {
return err
}
sessionList, err := s.sessionBiz.SessionList(c.Context(), req)
return handRes(c, err, fiber.Map{
"session_list": sessionList,
})
}