package hw.tagApi.service.domain;

import lombok.Data;
import lombok.Getter;

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

/**
 * 导入结果类
 * 用于存储和管理数据导入过程中的结果信息，包括成功数量、失败数量和错误信息
 *
 * @author Yinq
 * @date 2025-04-15
 */
@Data
public class ImportResult {
    /**
     * 成功导入的记录数量
     */
    private int successCount;

    /**
     * 导入失败的记录数量
     */
    private int failCount;

    /**
     * 导入过程中的错误信息列表
     */
    private List<String> errorMessages;

    /**
     * 构造函数
     * 初始化导入结果对象，设置初始值为0
     */
    public ImportResult() {
        this.successCount = 0;
        this.failCount = 0;
        this.errorMessages = new ArrayList<>();
    }

    /**
     * 增加成功计数
     * 每成功导入一条记录时调用
     */
    public void incrementSuccessCount() {
        this.successCount++;
    }

    /**
     * 增加失败计数
     * 每导入失败一条记录时调用
     */
    public void incrementFailCount() {
        this.failCount++;
    }

    /**
     * 批量增加成功计数
     * 批量导入成功时调用
     *
     * @param count 成功导入的记录数量
     */
    public void addSuccessCount(int count) {
        this.successCount += count;
    }
} 