package com.microservices.file.domain.vo;

import com.microservices.system.api.domain.SysFileInfo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 分片上传初始化返回VO
 *
 * @author microservices
 */
@Data
@ApiModel("分片上传初始化返回")
public class InitChunkedUploadVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 上传ID
     */
    @ApiModelProperty(value = "上传ID")
    private String uploadId;

    /**
     * 总分片数
     */
    @ApiModelProperty(value = "总分片数")
    private Integer totalChunks;

    /**
     * 分片大小（字节）
     */
    @ApiModelProperty(value = "分片大小（字节）")
    private Long chunkSize;


    /**
     * 上传分片的并发数
     */
    @ApiModelProperty(value = "上传分片的并发数")
    private Integer concurrent;

    /**
     * 哈希类型：FULL=完整文件MD5, SAMPLE=采样点哈希
     */
    @ApiModelProperty(value = "哈希类型(FULL=完整文件MD5, SAMPLE=采样点哈希)")
    private String hashType;

    /**
     * 采样点分片序号列表（仅SAMPLE类型有值）
     */
    @ApiModelProperty(value = "采样点分片序号列表")
    private List<Integer> sampleChunks;
}
