package com.jwipc.contract.client;

import cn.hutool.core.lang.Pair;
import com.jwipc.api.constant.ContractSendSign;
import com.jwipc.constant.SignProcessType;
import com.jwipc.contract.base.ContractSendSignClientDTO;
import com.jwipc.contract.base.ContractSendSignResultClientDTO;
import com.jwipc.contract.base.DigitalSealConfigClientDTO;
import org.springframework.web.multipart.MultipartFile;

/**
 * @author shenyang.ou
 * @date 2024/4/29 16:17
 * @desc
 */
public interface ContractSignClient {

    /**
     * 上传盖章附件
     * @param file 附件
     * @param fileId 附件id
     * @return 返回fileKey
     */
    String uploadSignFile(MultipartFile file , String fileId);

    /**
     * 一键发起签署
     * @param contractSendSignClientDTO 签署信息
     * @param contractSendSign 签署流程业务枚举
     * @return 返回fileKey
     */
    ContractSendSignResultClientDTO sendSignClient(ContractSendSignClientDTO contractSendSignClientDTO, SignProcessType signProcessType);

    DigitalSealConfigClientDTO selectESignDetailClient(String companyCode, String sealType);

     String getFile(String fileKey, Pair<String, String> pair, String ServerIP, String api,
                                 String ProjectSecret1, String ProjectID1);
}
