package com.njcn.gather.tool.adddata.pojo.bo;

import lombok.Getter;

/**
 * 批量写入结果。
 */
@Getter
public class AddDataBatchWriteResult {

    /** 成功插入条数。 */
    private final long insertedCount;

    /** 因主键重复被跳过的条数。 */
    private final long skippedCount;

    /** 非主键冲突失败条数。 */
    private final long failedCount;

    /** 第一条失败原因。 */
    private final String firstFailureMessage;

    public AddDataBatchWriteResult(long insertedCount, long skippedCount, long failedCount, String firstFailureMessage) {
        this.insertedCount = insertedCount;
        this.skippedCount = skippedCount;
        this.failedCount = failedCount;
        this.firstFailureMessage = firstFailureMessage;
    }

    /**
     * 当前批次是否存在失败。
     *
     * @return true 表示存在失败
     */
    public boolean hasFailure() {
        return failedCount > 0;
    }
}
