package com.friday.operation.api.executor.service;

import com.friday.operation.api.distributor.dto.*;
import com.friday.base.common.response.DubboResult;
import com.friday.operation.api.distributor.bean.BaseJob;
import com.friday.operation.api.distributor.bean.BaseTask;
import com.friday.operation.api.distributor.dto.*;

import java.util.ArrayList;

/**
 * @Author YaoYao
 * @Date Created In 18:44 2022/11/23
 * @Description 业务类逻辑接口
 * @Modified By
 */
public interface IBizExecuteHandler {
    DubboResult checkParam(StartTaskReq startReqDto);

    DubboResult<ArrayList<BaseJob>> createJobs(BaseTask task);

    DubboResult executeJob(StandardJobInput jobInput);

    DubboResult onJobStateChange(TaieJobStateChangeEvent event);

    DubboResult onTaskStateChange(TaieTaskStateChangeEvent event);

    DubboResult<TaskResultDto> getTaskResult(TaskResultFilter filter);

    DubboResult getData(DataRequest request);

    DubboResult syncData(DataRequest request);

    DubboResult handleFile(HandleFileDto files);
}
