e_dataset_file.go 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. package entity
  2. import (
  3. "context"
  4. "gorm.io/gorm"
  5. "yx-dataset-server/app/schema"
  6. )
  7. // GetDatasetFileDB 获取DatasetFile存储
  8. func GetDatasetFileDB(ctx context.Context, defDB *gorm.DB) *gorm.DB {
  9. return getDBWithModel(ctx, defDB, DatasetFile{})
  10. }
  11. // SchemaDatasetFile DatasetFile对象
  12. type SchemaDatasetFile schema.DatasetFile
  13. // ToDatasetFile 转换为DatasetFile实体
  14. func (a SchemaDatasetFile) ToDatasetFile() *DatasetFile {
  15. item := &DatasetFile{
  16. RecordID: a.RecordID,
  17. DatasetId: a.DatasetId,
  18. Name: a.Name,
  19. Url: a.Url,
  20. Size: a.Size,
  21. MD5: a.MD5,
  22. Type: a.Type,
  23. Enabled: a.Enabled,
  24. RagFileId: a.RagFileId,
  25. ParseStatus: a.ParseStatus,
  26. CreatorId: a.CreatorId,
  27. }
  28. return item
  29. }
  30. // ToSchemaDatasetFile 转换为DatasetFile对象
  31. func (a DatasetFile) ToSchemaDatasetFile() *schema.DatasetFile {
  32. item := &schema.DatasetFile{
  33. RecordID: a.RecordID,
  34. DatasetId: a.DatasetId,
  35. Name: a.Name,
  36. Url: a.Url,
  37. Size: a.Size,
  38. MD5: a.MD5,
  39. Type: a.Type,
  40. Enabled: a.Enabled,
  41. RagFileId: a.RagFileId,
  42. ParseStatus: a.ParseStatus,
  43. CreatedAt: a.CreatedAt,
  44. CreatorId: a.CreatorId,
  45. }
  46. return item
  47. }
  48. // DatasetFile DatasetFile实体
  49. type DatasetFile struct {
  50. gorm.Model
  51. RecordID string `gorm:"column:record_id;size:32;index;"` // 记录id
  52. DatasetId string `gorm:"column:dataset_id;size:32;index;"` // 知识库id
  53. Name string `gorm:"column:name;size:100;"` // 名称
  54. Url string `gorm:"column:url;size:200;"` // 文件地址
  55. Size int64 `gorm:"column:size;"` // 文件大小
  56. MD5 string `gorm:"column:md5;size:50;"` // md5
  57. Type string `gorm:"column:type;size:10;"` // 文件类型
  58. Enabled bool `gorm:"column:enabled;"` // 启用状态
  59. RagFileId string `json:"rag_file_id"` // rag平台文件id
  60. ParseStatus bool `gorm:"column:parse_status;"` // 解析状态
  61. CreatorId string `gorm:"column:creator_id;size:32;"` // 创建人id
  62. }
  63. // DatasetFiles DatasetFile列表
  64. type DatasetFiles []*DatasetFile
  65. // ToSchemaDatasetFiles 转换为DatasetFile对象列表
  66. func (a DatasetFiles) ToSchemaDatasetFiles() []*schema.DatasetFile {
  67. list := make([]*schema.DatasetFile, len(a))
  68. for i, item := range a {
  69. list[i] = item.ToSchemaDatasetFile()
  70. }
  71. return list
  72. }