package org.wcs.serve.service.intf;

import jakarta.servlet.http.HttpServletResponse;
import org.wcs.model.dto.serve.stcokComposeTask.AddStockComposeTaskReq;
import org.wcs.model.dto.serve.stcokComposeTask.QueryStockComposeTaskReq;
import org.wcs.model.dto.serve.stcokComposeTask.ReporterTaskStatusReq;
import org.wcs.model.vo.serve.AppServeDataResponse;
import org.wcs.model.vo.serve.AppServeResponse;
import org.wcs.model.vo.serve.common.PageDataResponse;
import org.wcs.model.vo.serve.stockComposeTask.AppStockComposeTaskVo;
import org.wcs.model.vo.serve.stockComposeTask.CourseResultVo;

import java.util.List;

public interface IStockComposeTaskService {

    AppServeDataResponse<PageDataResponse<AppStockComposeTaskVo>> query(QueryStockComposeTaskReq queryTaskReq, Integer pageSize, Integer pageIndex);
    AppServeDataResponse<PageDataResponse<AppStockComposeTaskVo>> queryBak(QueryStockComposeTaskReq queryTaskReq, Integer pageSize, Integer pageIndex);
    void downLoadTask(HttpServletResponse response, QueryStockComposeTaskReq queryTaskReq); // 下载文件，查询的数据
    void downLoadTaskBak(HttpServletResponse response, QueryStockComposeTaskReq queryTaskReq); // 下载文件，查询的数据
    AppServeResponse addTask(AddStockComposeTaskReq addTaskReq); // 添加任务
    AppServeResponse cancelTask(String taskId); // 取消任务
    AppServeResponse completeTask(String taskId); // 完成任务
    AppServeResponse resetTask(String taskId); // 重置任务
    AppServeResponse reporterTaskCompleted(ReporterTaskStatusReq reporterTaskStatusReq); // 任务完成上报
    AppServeResponse reporterTaskCancel(ReporterTaskStatusReq reporterTaskStatusReq); // 任务完成上报
    AppServeResponse reporterTaskBakCompleted(ReporterTaskStatusReq reporterTaskStatusReq); // 任务完成上报
    AppServeResponse reporterTaskBakCancel(ReporterTaskStatusReq reporterTaskStatusReq); // 任务完成上报
    AppServeDataResponse<List<CourseResultVo>> queryCourseResult(String taskId); // 查询任务路径

}
