package com.ruoyi.info.collection.service;

import com.ruoyi.info.collection.domain.CcdiEnterpriseBaseInfo;
import com.ruoyi.info.collection.domain.excel.CcdiEnterpriseBaseInfoExcel;
import com.ruoyi.info.collection.domain.vo.EnterpriseBaseInfoImportFailureVO;
import com.ruoyi.info.collection.domain.vo.ImportStatusVO;

import java.util.List;
import java.util.Set;

/**
 * 实体库管理导入 Service 接口
 *
 * @author ruoyi
 * @date 2026-04-17
 */
public interface ICcdiEnterpriseBaseInfoImportService {

    void importEnterpriseBaseInfoAsync(List<CcdiEnterpriseBaseInfoExcel> excelList, String taskId, String userName);

    ImportStatusVO getImportStatus(String taskId);

    List<EnterpriseBaseInfoImportFailureVO> getImportFailures(String taskId);

    CcdiEnterpriseBaseInfo validateAndBuildEntity(CcdiEnterpriseBaseInfoExcel excel,
                                                  Set<String> existingCreditCodes,
                                                  Set<String> processedCreditCodes,
                                                  String userName);
}
