| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- package schema
- import (
- "time"
- )
- // ChatAssistant ChatAssistant对象
- type ChatAssistant struct {
- RecordID string `json:"record_id"` // 记录id
- OrgId string `json:"org_id"` // 组织id
- UserId string `json:"user_id"` // 所属用户id
- Name string `json:"name"` // 助手名称
- Desc string `json:"desc"` // 描述
- Source int `json:"source"` // 来源 1 h5 2 钉钉机器人
- RagChatId string `json:"rag_chat_id"` // rag_chat_id
- Datasets Datasets `json:"datasets"` // 绑定的知识库id
- CreatedAt time.Time `json:"created_at"` // 创建时间
- CreatorId string `json:"creator_id"` // 创建人id
- CreatorName string `json:"creator_name"` // 创建人名称
- Sessions ChatSessions `json:"sessions"` // 会话列
- }
- // ChatAssistantQueryParam 查询条件
- type ChatAssistantQueryParam struct {
- OrgId string
- LikeName string
- RecordIDs []string
- CreatorId string // 创建者id
- UserId string // 所属用户id
- }
- // ChatAssistantQueryOptions ChatAssistant对象查询可选参数项
- type ChatAssistantQueryOptions struct {
- PageParam *PaginationParam // 分页参数
- }
- type ChatAssistants []*ChatAssistant
- // ChatAssistantQueryResult ChatAssistant对象查询结果
- type ChatAssistantQueryResult struct {
- Data ChatAssistants
- PageResult *PaginationResult
- }
- // AssistantPermissionStatus 对话助手知识库权限比对结果
- type AssistantPermissionStatus struct {
- Synced bool `json:"synced"` // 助手已绑定的知识库是否与用户当前可访问的一致
- NeedCreate bool `json:"need_create"` // 用户还没有 h5 助手,需要创建
- AssistantId string `json:"assistant_id"` // 现有 h5 助手 id(若存在)
- CurrentDatasetIds []string `json:"current_dataset_ids"` // 用户当前可访问的知识库 id
- BoundDatasetIds []string `json:"bound_dataset_ids"` // 助手已绑定的知识库 id
- Added []string `json:"added"` // 相较助手需要新增的 KB id
- Removed []string `json:"removed"` // 相较助手需要移除的 KB id
- }
- // FillCreator 填充创建者信息
- func (a ChatAssistants) FillCreator(users Users) {
- for _, v := range a {
- for _, u := range users {
- if v.CreatorId == u.RecordID {
- v.CreatorName = u.RealName
- continue
- }
- }
- }
- }
- // FillDatasetId 填充知识库id
- func (a ChatAssistants) FillDatasetId(data ChatDatasets) {
- for _, v := range a {
- for _, d := range data {
- if v.RecordID == d.ChatAssistantId {
- v.Datasets = append(v.Datasets, &Dataset{RecordID: d.DatasetId})
- continue
- }
- }
- }
- }
- // FillDatasetId 填充知识库id
- func (a ChatAssistants) FillDataset(data Datasets) {
- for _, v := range a {
- for _, d := range v.Datasets {
- for _, d2 := range data {
- if d.RecordID == d2.RecordID {
- d.Name = d2.Name
- d.OrgId = d2.OrgId
- d.RagDataId = d2.RagDataId
- d.FileCount = d2.FileCount
- continue
- }
- }
- }
- }
- }
- // FillDatasetId 填充知识库id
- func (a ChatAssistants) FillSession(sessions ChatSessions) {
- for _, v := range a {
- for _, s := range sessions {
- if v.RecordID == s.AssistantId {
- v.Sessions = append(v.Sessions, s)
- continue
- }
- }
- }
- }
|