package com.ruoyi.info.collection.service;

import com.ruoyi.info.collection.domain.excel.CcdiPurchaseTransactionExcel;
import com.ruoyi.info.collection.domain.excel.CcdiPurchaseTransactionSupplierExcel;
import com.ruoyi.info.collection.domain.vo.PurchaseTransactionImportFailureVO;
import com.ruoyi.info.collection.domain.vo.ImportStatusVO;

import java.util.List;

/**
 * 采购交易信息异步导入服务层
 *
 * @author ruoyi
 * @date 2026-02-06
 */
public interface ICcdiPurchaseTransactionImportService {

    /**
     * 异步导入采购交易数据
     *
     * @param mainExcelList 主信息Excel数据列表
     * @param supplierExcelList 供应商明细Excel数据列表
     * @param taskId 任务ID
     * @param userName 当前用户名
     */
    void importTransactionAsync(
        List<CcdiPurchaseTransactionExcel> mainExcelList,
        List<CcdiPurchaseTransactionSupplierExcel> supplierExcelList,
        String taskId,
        String userName
    );

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

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