s_chat_assistant.go 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package schema
  2. import (
  3. "time"
  4. )
  5. // ChatAssistant ChatAssistant对象
  6. type ChatAssistant struct {
  7. RecordID string `json:"record_id"` // 记录id
  8. OrgId string `json:"org_id"` // 组织id
  9. UserId string `json:"user_id"` // 所属用户id
  10. Name string `json:"name"` // 助手名称
  11. Desc string `json:"desc"` // 描述
  12. RagChatId string `json:"rag_chat_id"` // rag_chat_id
  13. Datasets Datasets `json:"datasets"` // 绑定的知识库id
  14. CreatedAt time.Time `json:"created_at"` // 创建时间
  15. CreatorId string `json:"creator_id"` // 创建人id
  16. CreatorName string `json:"creator_name"` // 创建人名称
  17. Sessions ChatSessions `json:"sessions"` // 会话列表
  18. }
  19. // ChatAssistantQueryParam 查询条件
  20. type ChatAssistantQueryParam struct {
  21. OrgId string
  22. LikeName string
  23. RecordIDs []string
  24. }
  25. // ChatAssistantQueryOptions ChatAssistant对象查询可选参数项
  26. type ChatAssistantQueryOptions struct {
  27. PageParam *PaginationParam // 分页参数
  28. }
  29. type ChatAssistants []*ChatAssistant
  30. // ChatAssistantQueryResult ChatAssistant对象查询结果
  31. type ChatAssistantQueryResult struct {
  32. Data ChatAssistants
  33. PageResult *PaginationResult
  34. }
  35. // FillCreator 填充创建者信息
  36. func (a ChatAssistants) FillCreator(users Users) {
  37. for _, v := range a {
  38. for _, u := range users {
  39. if v.CreatorId == u.RecordID {
  40. v.CreatorName = u.RealName
  41. continue
  42. }
  43. }
  44. }
  45. }
  46. // FillDatasetId 填充知识库id
  47. func (a ChatAssistants) FillDatasetId(data ChatDatasets) {
  48. for _, v := range a {
  49. for _, d := range data {
  50. if v.RecordID == d.ChatAssistantId {
  51. v.Datasets = append(v.Datasets, &Dataset{RecordID: d.DatasetId})
  52. continue
  53. }
  54. }
  55. }
  56. }
  57. // FillDatasetId 填充知识库id
  58. func (a ChatAssistants) FillDataset(data Datasets) {
  59. for _, v := range a {
  60. for _, d := range v.Datasets {
  61. for _, d2 := range data {
  62. if d.RecordID == d2.RecordID {
  63. d.Name = d2.Name
  64. d.OrgId = d2.OrgId
  65. d.RagDataId = d2.RagDataId
  66. d.FileCount = d2.FileCount
  67. continue
  68. }
  69. }
  70. }
  71. }
  72. }