package org.dromara.member.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.mybatis.core.domain.BaseEntity;

/**
 * App端文件信息对象 app_file
 *
 * @author pengles
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("app_file")
public class AppFile extends BaseEntity {

    /**
     * 文件ID
     */
    @TableId(value = "file_id")
    private Long fileId;

    /**
     * 用户ID
     */
    private Long userId;

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

    /**
     * 原始文件名
     */
    private String originalName;

    /**
     * 文件路径
     */
    private String filePath;

    /**
     * 文件URL
     */
    private String fileUrl;

    /**
     * 文件大小（字节）
     */
    private Long fileSize;

    /**
     * 文件类型（MIME类型）
     */
    private String fileType;

    /**
     * 文件后缀
     */
    private String fileSuffix;

    /**
     * 文件分类（1头像 2文档 3图片 4视频 5音频 6其他）
     */
    private Integer fileCategory;

    /**
     * 存储服务商
     */
    private String storageService;

    /**
     * 文件状态（0正常 1删除）
     */
    private String status;

    /**
     * 下载次数
     */
    private Long downloadCount;

    /**
     * 是否公开（0私有 1公开）
     */
    private String isPublic;

    /**
     * 文件MD5值
     */
    private String fileMd5;

    /**
     * 备注
     */
    private String remark;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    @TableLogic
    private String delFlag;

}