package com.docus.server.entity.scheduling.management;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.docus.server.enums.CancelEnum;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;

/**
 * 采集器版本列表更新包管理
 *
 * @author AutoGenerator
 * @since 2023-07-15
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("sch_collector_version_file")
@ApiModel(value = "SchCollectorVersionFile对象", description = "采集器版本列表更新包管理")
public class SchCollectorVersionFile implements Serializable {

    @ApiModelProperty(value = "主键")
    @TableId(value = "id", type = IdType.ASSIGN_UUID)
    private Long id;

    @ApiModelProperty(value = "采集器管理版本id")
    @TableField("collector_version_id")
    private Long collectorVersionId;

    @ApiModelProperty(value = "采集器管理id")
    @TableField("collector_id")
    private Long collectorId;

    @ApiModelProperty(value = "文件标题")
    @TableField("file_title")
    private String fileTitle;

    @ApiModelProperty(value = "文件目录 单纯文件夹路径，不带文件名，如：F:\\嘉时\\新建文件夹\\")
    @TableField("file_path")
    private String filePath;

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

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

    @ApiModelProperty(value = "文件类型")
    @TableField("file_type")
    private String fileType;

    @ApiModelProperty(value = "采集器部署路径")
    @TableField("deploy_path")
    private String deployPath;

    @ApiModelProperty(value = "采集器进程名称")
    @TableField("process_name")
    private String processName;

    @ApiModelProperty(value = "是否作废 1：是；0：否")
    @TableField("state")
    private CancelEnum state;

    @TableField("create_time")
    @ApiModelProperty(value = "入库时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @TableField("update_time")
    @ApiModelProperty(value = "入库更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

}
