package jnpf.model.attendance.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 需求10：批量操作结果VO
 *
 * @author Generated
 * @create 2026-04-22
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Schema(description = "批量操作结果VO")
public class BatchOperationResultVo {

    /**
     * 成功数量
     */
    @Schema(description = "成功数量")
    private Integer successCount;

    /**
     * 成功记录的ID集合
     */
    @Schema(description = "成功记录的ID集合")
    private List<String> successIds;

    /**
     * 失败数量
     */
    @Schema(description = "失败数量")
    private Integer failCount;

    /**
     * 失败详情
     */
    @Schema(description = "失败详情")
    private List<FailDetailVo> failDetails;

    /**
     * 失败详情VO
     */
    @Data
    @Builder
    @AllArgsConstructor
    @NoArgsConstructor
    @Schema(description = "失败详情VO")
    public static class FailDetailVo {
        /**
         * 行号（从1开始）
         */
        @Schema(description = "行号")
        private Integer row;

        /**
         * 失败原因
         */
        @Schema(description = "失败原因")
        private String message;
    }
}
