package com.yida.data.common.core.file.common.export;

import com.yida.data.common.core.enums.FileDealStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 导出zip文件进度信息实体类
 * 分片下载（大文件下载）
 *
 * @author ZYJ
 * @date 2023/10/20
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ExportLargeData implements Serializable {

    private static final long serialVersionUID = 2826753566888775932L;

    @ApiModelProperty("本次操作标识")
    private String key;

    /**
     * {@link FileDealStatusEnum}
     */
    @ApiModelProperty("导出状态")
    private Integer exportStatus;

    @ApiModelProperty("文件名称")
    private String fileName;

    @ApiModelProperty("文件大小. 单位：bytes")
    private Long fileSize;

    @ApiModelProperty("处理的总数量")
    private Integer total;

    @ApiModelProperty("完成的数量")
    private Integer finish;

    @ApiModelProperty("失败的数量")
    private Integer error;

    @ApiModelProperty("信息导出失败的文件地址")
    private String errorFilePath;
}
