package com.zxdmy.excite.system.entity.cloud.space;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.IdType;
import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 文件表
 * </p>
 *
 * @author ss
 * @since 2026-01-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class CloudFile implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 文件名称
     */
    private String fileName;

    /**
     * 文件大小
     */
    private String fileSize;

    /**
     * 文件格式
     */
    private String fileFormat;

    /**
     * 文件OSS地址
     */
    private String fileOss;

    /**
     * 文件封面地址
     */
    private String fileImage;

    /**
     * 文件排序
     */
    private Integer fileSort;

    /**
     * 0是文件夹  1是文件
     */
    private Integer fileFolder;

    /**
     * 父级文件ID
     */
    private Long fileParentId;

    /**
     * 顶级文件ID
     */
    private Long fileTopId;

    /**
     * 云盘结构目录
     */
    private String fileFolderPath;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 创建者ID
     */
    private Integer creatorId;

    /**
     * 创建者姓名
     */
    private String creatorName;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 更新者ID
     */
    private Integer updaterId;

    /**
     * 更新者姓名
     */
    private String updaterName;

    /**
     * 删除时间
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private LocalDateTime deleteTime;

    /**
     * 删除者ID
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Integer deleteId;

    /**
     * 删除者姓名
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String deleteName;

    private Integer fileTop;



}
