package com.huatek.busi.entity;

import com.huatek.torch.sql.annotation.*;
import com.huatek.torch.sql.beans.Pojo;
import io.swagger.annotations.*;
import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;

@Data
@EqualsAndHashCode(callSuper = false)
@TableName("sys_file")
@ApiModel("管理文件实体类信息")
public class SysFile extends Pojo implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id("id")
    @ApiModelProperty(value = "id", name = "唯一主键标识", required = true)
    private String id;

    @FieldName("business_id")
    @ApiModelProperty(value = "businessId", name = "业务id")
    private String businessId;

    @FieldName("equ_type")
    @ApiModelProperty(value = "equType", name = "设备类型")
    private String equType;

    @FieldName("file_name")
    @ApiModelProperty(value = "fileName", name = "文件名称")
    private String fileName;

    @FieldName("suffix_file_path")
    @ApiModelProperty(value = "suffixFilePath", name = "前缀文件路径")
    private String suffixFilePath;

    @FieldName("file_path")
    @ApiModelProperty(value = "filePath", name = "文件路径")
    private String filePath;

    @FieldName("suffix_name")
    @ApiModelProperty(value = "suffixName", name = "后缀名称")
    private String suffixName;

    @FieldName("file_size")
    @ApiModelProperty(value = "fileSize", name = "文件大小")
    private Long fileSize;

    @FieldName("file_type")
    @ApiModelProperty(value = "fileType", name = "文件类型 (区分附件与excel文件)")
    private String fileType;

    @FieldName("busi_file_type")
    @ApiModelProperty(value = "busiFileType", name = "业务文件类型 (离线报告、评估参数文件夹类型 上传业务关联)")
    private String busiFileType;

    @FieldName("count")
    @ApiModelProperty(value = "count", name = "上传次数")
    private int count;

    @FieldName("date")
    @ApiModelProperty(value = "date", name = "上传日期")
    private String date;

    @FieldName("create_date")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "createDate", name = "创建时间")
    private LocalDateTime createDate;

    @FieldName("deleted")
    @ApiModelProperty(value = "deleted",name = "是否删除 0否 1是")
    private String deleted;
}
