package com.jeethink.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jeethink.common.annotation.Excel;
import com.jeethink.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 文件库对象 system_file
 * 
 * @author jeethink
 * @date 2022-03-24
 */
public class SystemFile extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private String fileId;

    /** 文档名称 */
    @Excel(name = "文档名称")
    private String fileName;

    /** 文档类型 */
    @Excel(name = "文档类型")
    private String fileSuffix;

    /** 文档大小 */
    @Excel(name = "文档大小")
    private Long fileSize;

    /** 文档路径 */
    @Excel(name = "文档路径")
    private String filePath;

    /** 文件tomcat访问路径 */
    @Excel(name = "文件tomcat访问路径")
    private String fileUrl;

    /** 外键ID */
    @Excel(name = "外键ID")
    private String fileObjectId;

    /** 数据库表名 */
    @Excel(name = "数据库表名")
    private String fileObjectDatabase;

    /** 删除状态 */
    @Excel(name = "删除状态")
    private String fileDeleteType;

    /** 删除时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "删除时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date fileDeleteTime;

    /** 创建者 */
    @Excel(name = "创建者")
    private Long createUserId;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date fileCreateTime;

    /** 修改者 */
    @Excel(name = "修改者")
    private Long modifyUserId;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date fileModifyTime;

    /** $column.columnComment */
    @Excel(name = "所属类型")
    private String fileType;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "文件发生日期")
    private Date fileOccurTime;

    public Date getFileOccurTime() {
        return fileOccurTime;
    }

    public void setFileOccurTime(Date fileOccurTime) {
        this.fileOccurTime = fileOccurTime;
    }

    public void setFileId(String fileId)
    {
        this.fileId = fileId;
    }

    public String getFileId() 
    {
        return fileId;
    }
    public void setFileName(String fileName) 
    {
        this.fileName = fileName;
    }

    public String getFileName() 
    {
        return fileName;
    }
    public void setFileSuffix(String fileSuffix) 
    {
        this.fileSuffix = fileSuffix;
    }

    public String getFileSuffix() 
    {
        return fileSuffix;
    }
    public void setFileSize(Long fileSize) 
    {
        this.fileSize = fileSize;
    }

    public Long getFileSize() 
    {
        return fileSize;
    }
    public void setFilePath(String filePath) 
    {
        this.filePath = filePath;
    }

    public String getFilePath() 
    {
        return filePath;
    }
    public void setFileUrl(String fileUrl) 
    {
        this.fileUrl = fileUrl;
    }

    public String getFileUrl() 
    {
        return fileUrl;
    }
    public void setFileObjectDatabase(String fileObjectDatabase)
    {
        this.fileObjectDatabase = fileObjectDatabase;
    }

    public String getFileObjectDatabase() 
    {
        return fileObjectDatabase;
    }
    public void setFileDeleteType(String fileDeleteType) 
    {
        this.fileDeleteType = fileDeleteType;
    }

    public String getFileDeleteType() 
    {
        return fileDeleteType;
    }
    public void setFileDeleteTime(Date fileDeleteTime) 
    {
        this.fileDeleteTime = fileDeleteTime;
    }

    public Date getFileDeleteTime() 
    {
        return fileDeleteTime;
    }
    public void setCreateUserId(Long createUserId) 
    {
        this.createUserId = createUserId;
    }

    public Long getCreateUserId() 
    {
        return createUserId;
    }
    public void setFileCreateTime(Date fileCreateTime) 
    {
        this.fileCreateTime = fileCreateTime;
    }

    public Date getFileCreateTime() 
    {
        return fileCreateTime;
    }
    public void setModifyUserId(Long modifyUserId) 
    {
        this.modifyUserId = modifyUserId;
    }

    public Long getModifyUserId() 
    {
        return modifyUserId;
    }
    public void setFileModifyTime(Date fileModifyTime) 
    {
        this.fileModifyTime = fileModifyTime;
    }

    public Date getFileModifyTime() 
    {
        return fileModifyTime;
    }
    public void setFileType(String fileType) 
    {
        this.fileType = fileType;
    }

    public String getFileType() 
    {
        return fileType;
    }

    public String getFileObjectId() {
        return fileObjectId;
    }

    public void setFileObjectId(String fileObjectId) {
        this.fileObjectId = fileObjectId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("fileId", getFileId())
            .append("fileName", getFileName())
            .append("fileSuffix", getFileSuffix())
            .append("fileSize", getFileSize())
            .append("filePath", getFilePath())
            .append("fileUrl", getFileUrl())
            .append("fileObjectId", getFileObjectId())
            .append("fileObjectDatabase", getFileObjectDatabase())
            .append("fileDeleteType", getFileDeleteType())
            .append("fileDeleteTime", getFileDeleteTime())
            .append("createUserId", getCreateUserId())
            .append("fileCreateTime", getFileCreateTime())
            .append("modifyUserId", getModifyUserId())
            .append("fileModifyTime", getFileModifyTime())
            .append("fileType", getFileType())
            .toString();
    }
}
