s_dataset_file.go 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. package schema
  2. import "time"
  3. // DatasetFile DatasetFile对象
  4. type DatasetFile struct {
  5. RecordID string `json:"record_id"` // 记录id
  6. Name string `json:"name"` // 名称
  7. DatasetId string `json:"dataset_id"` // 知识库id
  8. Url string `json:"url"` // 文件地址
  9. Size int64 `json:"size"` // 文件大小
  10. MD5 string `json:"md5"` // md5
  11. Type string `json:"type"` // 文件类型
  12. Enabled bool `json:"enabled"` // 是否启用
  13. RagFileId string `json:"rag_file_id"` // rag平台文件id
  14. ParseStatus int `json:"parse_status"` // 解析状态 0 未解析 1 解析中 2 解析完成 3解析失败
  15. CreatorId string `json:"creator_id"` // 创建人id
  16. CreatorName string `json:"creator_name"` // 创建人姓名
  17. CreatedAt time.Time `json:"created_at"` // 创建时间
  18. }
  19. // DatasetFileQueryParam 查询条件
  20. type DatasetFileQueryParam struct {
  21. DatasetId string
  22. DatasetIds []string
  23. RecordIDs []string
  24. }
  25. // DatasetFileQueryOptions DatasetFile对象查询可选参数项
  26. type DatasetFileQueryOptions struct {
  27. PageParam *PaginationParam // 分页参数
  28. }
  29. type DatasetFiles []*DatasetFile
  30. // DatasetFileQueryResult DatasetFile对象查询结果
  31. type DatasetFileQueryResult struct {
  32. Data DatasetFiles
  33. PageResult *PaginationResult
  34. }
  35. type DeleteIds struct {
  36. Ids []string `json:"ids"`
  37. }
  38. // FillCreator 填充创建者信息
  39. func (a DatasetFiles) FillCreator(users Users) {
  40. for _, o := range a {
  41. for _, u := range users {
  42. if o.CreatorId == u.RecordID {
  43. o.CreatorName = u.RealName
  44. continue
  45. }
  46. }
  47. }
  48. }
  49. func (a DatasetFiles) ToRagFileIds() []string {
  50. Ids := make([]string, len(a))
  51. for k, v := range a {
  52. Ids[k] = v.RagFileId
  53. }
  54. return Ids
  55. }
  56. // UpdateFileParam 文件上传参数
  57. type UpdateFileParam struct {
  58. FileName string // 文件名(含扩展名)
  59. FileData []byte // 文件二进制内容
  60. FileSize int64 // 文件大小(字节)
  61. DatasetId string // 知识库ID
  62. CreatorId string // 创建人ID
  63. }