package tech.easyflow.datacenter.excel.service;

import org.springframework.web.multipart.MultipartFile;
import tech.easyflow.common.entity.LoginAccount;
import tech.easyflow.datacenter.excel.model.DatacenterExcelDeriveRequest;
import tech.easyflow.datacenter.excel.model.DatacenterExcelExportRequest;
import tech.easyflow.datacenter.excel.model.DatacenterExcelMergeRequest;
import tech.easyflow.datacenter.excel.model.DatacenterExcelSplitRequest;
import tech.easyflow.datacenter.meta.entity.DatacenterImportJob;

import java.math.BigInteger;
import java.util.List;

public interface DatacenterExcelImportService {
    DatacenterImportJob importWorkbook(MultipartFile file, LoginAccount account) throws Exception;

    DatacenterImportJob splitWorkbook(DatacenterExcelSplitRequest request, LoginAccount account);

    DatacenterImportJob mergeWorkbook(DatacenterExcelMergeRequest request, LoginAccount account);

    DatacenterImportJob deriveWorkbook(DatacenterExcelDeriveRequest request, LoginAccount account);

    DatacenterImportJob exportWorkbook(DatacenterExcelExportRequest request, LoginAccount account) throws Exception;

    DatacenterImportJob getImportJobDetail(BigInteger jobId);

    List<DatacenterImportJob> listJobs(BigInteger sourceId, BigInteger tableId);
}
