content: package ai.llmchat.server.repository.entity;
  
  import com.baomidou.mybatisplus.annotation.IdType;
  import com.baomidou.mybatisplus.annotation.TableField;
  import com.baomidou.mybatisplus.annotation.TableId;
  import com.baomidou.mybatisplus.annotation.TableName;
  import java.io.Serializable;
  import java.time.LocalDateTime;
  import lombok.Getter;
  import lombok.Setter;
  import lombok.experimental.Accessors;
  
  /**
   * <p>
   * 文件记录表
   * </p>
   *
   * @author lixw
   * @since 2024-10-28
   */
  @Getter
  @Setter
  @Accessors(chain = true)
  @TableName("file_detail")
  public class FileDetail implements Serializable {
  
  	private static final long serialVersionUID = 1L;
  
  	/**
  	 * 文件id
  	 */
  	@TableId(value = "id", type = IdType.ASSIGN_ID)
  	private Long id;
  
  	/**
  	 * 文件访问地址
  	 */
  	@TableField("url")
  	private String url;
  
  	/**
  	 * 文件大小，单位字节
  	 */
  	@TableField("size")
  	private Long size;
  
  	/**
  	 * 文件名称
  	 */
  	@TableField("filename")
  	private String filename;
  
  	/**
  	 * 原始文件名
  	 */
  	@TableField("original_filename")
  	private String originalFilename;
  
  	/**
  	 * 基础存储路径
  	 */
  	@TableField("base_path")
  	private String basePath;
  
  	/**
  	 * 存储路径
  	 */
  	@TableField("path")
  	private String path;
  
  	/**
  	 * 文件扩展名
  	 */
  	@TableField("ext")
  	private String ext;
  
  	/**
  	 * MIME类型
  	 */
  	@TableField("content_type")
  	private String contentType;
  
  	/**
  	 * 存储平台
  	 */
  	@TableField("platform")
  	private String platform;
  
  	/**
  	 * 缩略图访问路径
  	 */
  	@TableField("th_url")
  	private String thUrl;
  
  	/**
  	 * 缩略图名称
  	 */
  	@TableField("th_filename")
  	private String thFilename;
  
  	/**
  	 * 缩略图大小，单位字节
  	 */
  	@TableField("th_size")
  	private Long thSize;
  
  	/**
  	 * 缩略图MIME类型
  	 */
  	@TableField("th_content_type")
  	private String thContentType;
  
  	/**
  	 * 文件所属对象id
  	 */
  	@TableField("object_id")
  	private String objectId;
  
  	/**
  	 * 文件所属对象类型，例如用户头像，评价图片
  	 */
  	@TableField("object_type")
  	private String objectType;
  
  	/**
  	 * 文件元数据
  	 */
  	@TableField("metadata")
  	private String metadata;
  
  	/**
  	 * 文件用户元数据
  	 */
  	@TableField("user_metadata")
  	private String userMetadata;
  
  	/**
  	 * 缩略图元数据
  	 */
  	@TableField("th_metadata")
  	private String thMetadata;
  
  	/**
  	 * 缩略图用户元数据
  	 */
  	@TableField("th_user_metadata")
  	private String thUserMetadata;
  
  	/**
  	 * 附加属性
  	 */
  	@TableField("attr")
  	private String attr;
  
  	/**
  	 * 文件ACL
  	 */
  	@TableField("file_acl")
  	private String fileAcl;
  
  	/**
  	 * 缩略图文件ACL
  	 */
  	@TableField("th_file_acl")
  	private String thFileAcl;
  
  	/**
  	 * 哈希信息
  	 */
  	@TableField("hash_info")
  	private String hashInfo;
  
  	/**
  	 * 上传ID，仅在手动分片上传时使用
  	 */
  	@TableField("upload_id")
  	private String uploadId;
  
  	/**
  	 * 上传状态，仅在手动分片上传时使用，1：初始化完成，2：上传完成
  	 */
  	@TableField("upload_status")
  	private Integer uploadStatus;
  
  	/**
  	 * 创建时间
  	 */
  	@TableField("create_time")
  	private LocalDateTime createTime;
  
  }
  