package com.jwipc.sys.logic;

import com.jwipc.api.dto.*;
import com.jwipc.sys.dto.DigitalSealBusinessDTO;
import com.jwipc.sys.dto.DigitalSealBusinessDetailDTO;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * @author shenyang.ou
 * @date 2024/5/9 14:51
 * @desc
 */
public interface ESignLogic {

    /**
     * 上传签章文件
     *
     * @param files 文件
     */
    List<ESignFileResposeDTO> saveSignFile(MultipartFile[] files, String fileIds);

    String sendFileClient(ESignFileResposeDTO fileResposeDTO, MultipartFile file);

    void sendSign(DigitalSealBusinessDTO digitalSealBusinessDTO);

    List<DigitalSealBusinessDetailDTO> fileList(Long businessId, String businessTypeCode,String signOrder,Integer notShowDelete);

    Boolean checkList(Long businessId);

    ApiResult callBack(SignBackDTO signBackDTO);

    /**
     * 新增或者修改外部组织用户
     * @param signBackDTO 参数
     * @return 是否成功
     */
    ESignOutOrgResult saveOutOrgWithUser(ESignOutOrgParamDTO signBackDTO);

    void remove(Long id, String deleteRemark);

    List<DigitalSealBusinessDetailDTO> fileListByStatus(String businessIds, String businessTypeCode,Integer signStatus);
}
