package entity import ( "context" "gorm.io/gorm" "yx-dataset-server/app/schema" ) // GetDatasetFileDB 获取DatasetFile存储 func GetDatasetFileDB(ctx context.Context, defDB *gorm.DB) *gorm.DB { return getDBWithModel(ctx, defDB, DatasetFile{}) } // SchemaDatasetFile DatasetFile对象 type SchemaDatasetFile schema.DatasetFile // ToDatasetFile 转换为DatasetFile实体 func (a SchemaDatasetFile) ToDatasetFile() *DatasetFile { item := &DatasetFile{ RecordID: a.RecordID, DatasetId: a.DatasetId, Name: a.Name, Url: a.Url, Size: a.Size, MD5: a.MD5, Type: a.Type, Enabled: a.Enabled, RagFileId: a.RagFileId, ParseStatus: a.ParseStatus, CreatorId: a.CreatorId, } return item } // ToSchemaDatasetFile 转换为DatasetFile对象 func (a DatasetFile) ToSchemaDatasetFile() *schema.DatasetFile { item := &schema.DatasetFile{ RecordID: a.RecordID, DatasetId: a.DatasetId, Name: a.Name, Url: a.Url, Size: a.Size, MD5: a.MD5, Type: a.Type, Enabled: a.Enabled, RagFileId: a.RagFileId, ParseStatus: a.ParseStatus, CreatedAt: a.CreatedAt, CreatorId: a.CreatorId, } return item } // DatasetFile DatasetFile实体 type DatasetFile struct { gorm.Model RecordID string `gorm:"column:record_id;size:32;index;"` // 记录id DatasetId string `gorm:"column:dataset_id;size:32;index;"` // 知识库id Name string `gorm:"column:name;size:100;"` // 名称 Url string `gorm:"column:url;size:200;"` // 文件地址 Size int64 `gorm:"column:size;"` // 文件大小 MD5 string `gorm:"column:md5;size:50;"` // md5 Type string `gorm:"column:type;size:10;"` // 文件类型 Enabled bool `gorm:"column:enabled;"` // 启用状态 RagFileId string `json:"rag_file_id"` // rag平台文件id ParseStatus bool `gorm:"column:parse_status;"` // 解析状态 CreatorId string `gorm:"column:creator_id;size:32;"` // 创建人id } // DatasetFiles DatasetFile列表 type DatasetFiles []*DatasetFile // ToSchemaDatasetFiles 转换为DatasetFile对象列表 func (a DatasetFiles) ToSchemaDatasetFiles() []*schema.DatasetFile { list := make([]*schema.DatasetFile, len(a)) for i, item := range a { list[i] = item.ToSchemaDatasetFile() } return list }