package cn.timer.api.dto.disk;

import cn.timer.api.config.exception.ValidationMsg;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Transient;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * @author wuqingjun
 * @email 284718418@qq.com
 * @date 2021-12-27 10:05:49
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DiskFilesDto implements Serializable{
	
	private static final long serialVersionUID = -1230023773946170921L;

	/**
	 * 主键ID
	 */
	@Id
	@GeneratedValue
	@TableId(type = IdType.AUTO)
	@ApiModelProperty(value = "编号")
	private Integer id;
	/**
	 * 文件标题
	 */
	@ApiModelProperty(value = "文件标题")
	private String title;
	/**
	 * 文件路径
	 */
	@ApiModelProperty(value = "文件路径")
	private String urlPath;
	/**
	 * 文件物理路径
	 */
	@ApiModelProperty(value = "文件物理路径")
	private String diskPath;
	/**
	 * 文件大小,单位kb
	 */
	@ApiModelProperty(value = "文件大小,单位kb")
	private Long fileSize;
	/**
	 * 显示大小
	 */
	@ApiModelProperty(value = "显示大小:10KB,5M,2G")
	private String showSize;
	/**
	 * 文件格式类型
	 */
	@ApiModelProperty(value = "文件格式类型")
	private String fileType;
	/**
	 * 上传文件时的IP
	 */
	@ApiModelProperty(value = "上传文件时的IP")
	private String uploadIp;
	/**
	 * 逻辑删除标记0.未删除 1.删除
	 */
	@ApiModelProperty(value = "")
	private Integer deleteFlag;
	/**
	 * 创建者
	 */
	@ApiModelProperty(value = "")
	private Integer createUserId;
	/**
	 * 用户姓名
	 */
	@ApiModelProperty(value = "用户姓名")
	private String userName;
	/**
	 * 更新者
	 */
	@ApiModelProperty(value = "")
	private Integer updateUserId;
	/**
	 * 创建时间
	 */
	@ApiModelProperty(value = "")
	private Date createTime;
	/**
	 * 更新时间
	 */
	@ApiModelProperty(value = "")
	private Date updateTime;

	/**
	 * 文件图标
	 */
	@Transient
	@TableField(exist = false)
	@ApiModelProperty(value = "文件图标")
	private String url;

	/**
	 * 对象id
	 */
	@ApiModelProperty(value = "对象id")
	private Integer objId;

}