package com.nanri.aiimage.modules.deletebrand.model.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;

@Data
@Schema(description = "删除品牌单文件结果回传")
public class DeleteBrandResultFileDto {
    @Schema(description = "稳定文件标识，优先使用 run 阶段返回的 fileKey")
    private String fileKey;

    @NotBlank(message = "sourceFilename 不能为空")
    @Schema(description = "源文件名")
    private String sourceFilename;

    @Schema(description = "当前是第几个文件，从 1 开始")
    private Integer fileIndex;

    @Schema(description = "总文件数")
    private Integer fileTotal;

    @Schema(description = "当前分片序号，从 1 开始")
    private Integer chunkIndex;

    @Schema(description = "当前文件总分片数")
    private Integer chunkTotal;

    @Schema(description = "当前文件已处理行数")
    private Integer processedRows;

    @Schema(description = "当前文件总行数")
    private Integer totalRows;

    @Schema(description = "当前国家")
    private String currentCountry;

    @Schema(description = "当前 ASIN")
    private String currentAsin;

    @Valid
    @Schema(description = "按国家分组的处理结果")
    private List<DeleteBrandProcessedCountryDto> countries = new ArrayList<>();
}
