package schema import "time" // ChatSession ChatSession对象 type ChatSession struct { RecordID string `json:"record_id"` // 记录id Name string `json:"name"` // 名称 UserId string `json:"user_id"` // 用户id AssistantId string `json:"assistant_id"` // 助手id RagChatId string `json:"rag_chat_id"` // rag_chat_id RagSessionId string `json:"rag_session_id"` // rag_session_id CreatedAt time.Time `json:"created_at"` // 创建时间 CreatorId string `json:"creator_id"` // 创建人id CreatorName string `json:"creator_name"` // 创建人名称 Messages ChatMessages `json:"messages"` // 聊天记录 } // ChatSessionQueryParam 查询条件 type ChatSessionQueryParam struct { AssistantId string RecordIDs []string } // ChatSessionQueryOptions ChatSession对象查询可选参数项 type ChatSessionQueryOptions struct { PageParam *PaginationParam // 分页参数 } type ChatSessions []*ChatSession // ChatSessionQueryResult ChatSession对象查询结果 type ChatSessionQueryResult struct { Data ChatSessions PageResult *PaginationResult } // FillCreator 填充创建者信息 func (a ChatSessions) FillCreator(users Users) { for _, v := range a { for _, u := range users { if v.CreatorId == u.RecordID { v.CreatorName = u.RealName continue } } } } // FillMessages 填充聊天记录 func (a ChatSessions) FillMessages(Messages ChatMessages) { for _, v := range a { for _, m := range Messages { if v.RecordID == m.SessionId { v.Messages = append(v.Messages, m) continue } } } }