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

import com.chinaweal.aiccs.aiccs.abnormal.entity.TSAttachment;
import com.chinaweal.aiccs.aiccs.business.entity.TSTaskList;
import com.chinaweal.aiccs.aiccs.fraudreg.dto.FraudInfoDto;
import com.chinaweal.aiccs.aiccs.fraudreg.dto.FraudProcessDto;
import com.chinaweal.aicorg.model.AICUser;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.List;
import java.util.Map;

public interface IFraudProcessService {

    /**
     * 启动待办
     * @param fraudInfoDto
     * @param loginUser
     */
    Map<String, String> startTask(FraudInfoDto fraudInfoDto, AICUser loginUser);

    void backStartAccept(FraudProcessDto fraudProcessDto, TSTaskList tsTaskList, AICUser loginUser);

    void toApprovalCancel(FraudProcessDto fraudProcessDto, TSTaskList tsTaskList, AICUser loginUser);

    void toHandleCase(FraudProcessDto fraudProcessDto, TSTaskList tsTaskList, AICUser loginUser);

    String toEndCase(FraudProcessDto fraudProcessDto, TSTaskList tsTaskList, AICUser loginUser);

    void toHandleCancel(FraudProcessDto fraudProcessDto, TSTaskList tsTaskList, AICUser loginUser);

    void cancelCase(FraudProcessDto fraudProcessDto, TSTaskList tsTaskList, AICUser loginUser);

    String processControl(FraudProcessDto fraudProcessDto, TSTaskList taskList, AICUser loginUser);

    List<TSAttachment> upload(MultipartFile[] files, String id, String attachType,  AICUser loginUser) throws IOException;
}
