package com.ruoyi.info.collection.service;

import com.ruoyi.info.collection.domain.excel.CcdiCustFmyRelationExcel;
import com.ruoyi.info.collection.domain.vo.CustFmyRelationImportFailureVO;
import com.ruoyi.info.collection.domain.vo.ImportStatusVO;

import java.util.List;

/**
 * 信贷客户家庭关系导入Service接口
 *
 * @author ruoyi
 * @date 2026-02-11
 */
public interface ICcdiCustFmyRelationImportService {

    /**
     * 异步导入信贷客户家庭关系
     *
     * @param excels Excel数据列表
     * @param taskId 任务ID
     * @param userName 用户名
     */
    void importRelationsAsync(List<CcdiCustFmyRelationExcel> excels, String taskId, String userName);

    /**
     * 校验单条数据
     *
     * @param excel Excel数据
     * @param rowNum 行号
     * @return 错误消息,为null表示校验通过
     */
    String validateExcelRow(CcdiCustFmyRelationExcel excel, Integer rowNum);

    /**
     * 获取导入失败记录
     *
     * @param taskId 任务ID
     * @return 失败记录列表
     */
    List<CustFmyRelationImportFailureVO> getImportFailures(String taskId);

    /**
     * 查询导入状态
     *
     * @param taskId 任务ID
     * @return 导入状态信息
     */
    ImportStatusVO getImportStatus(String taskId);
}
