package com.chinaweal.aiccs.aiccs.fraudreg.service;

import com.chinaweal.aiccs.aiccs.business.entity.TSTaskList;
import com.chinaweal.aiccs.aiccs.fraudreg.dto.RevokeFraudBatchDto;
import com.chinaweal.aiccs.aiccs.fraudreg.entity.RevokeFraudBatch;
import com.chinaweal.aicorg.model.AICUser;
import com.chinaweal.youfool.framework.springboot.mybatis.plus.BaseService;
import com.chinaweal.youfool.framework.springboot.mybatis.plus.page.PageRequestDto;
import com.chinaweal.youfool.framework.springboot.rest.RestResult;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author sh
 * @since 2023-03-14
 */
public interface RevokeFraudBatchService extends BaseService<RevokeFraudBatch> {

    Map<String, String> startTaskRevokeFraudBatch(String pripids);

    Map<String, Object> getRevokeFraudBatch(String bizseq, String workflowId);

    void saveContent(RevokeFraudBatch revokeFraudBatch);

    void processControlFraudBatch(RevokeFraudBatchDto revokeFraudBatchDto);

    void toHandleCaseTZ(RevokeFraudBatchDto revokeFraudBatchDto);

    void toHandleCaseCX(RevokeFraudBatchDto revokeFraudBatchDto);

    void toEnd(RevokeFraudBatchDto revokeFraudBatchDto);

    void backLastStep(RevokeFraudBatchDto revokeFraudBatchDto, TSTaskList taskList, String currentNode, String nextNode);

    RestResult<?> createDocument(String bizseq, String contentType);

    Boolean checknb(String pripid);

    RestResult<?> queryRevokeFraudBatchInfo(String bizseq);

    RestResult<?> importExcel(HttpServletRequest request, MultipartFile file);

    RestResult<?> queryEntlockAbnInfo(String pripid);

    RestResult<?> getBasePage(PageRequestDto pageRequestDto, HttpServletRequest request);
}
