package com.trade.service.contract.service;

import com.deepoove.poi.config.Configure;
import com.trade.service.contract.dto.*;

import java.io.IOException;
import java.util.List;

/**
 * 合同服务
 */
public interface ContractService {

    /**
     * 批量生成合同
     * 
     * @param input 入参
     * @return ContractGenOutput
     */
    ContractGenOutput generateContract(ContractGenInput input);

    /**
     * 生成单个合同
     *
     * @param item 入参
     * @param userId 用户id
     * @return ContractGenOutputItem
     */
    ContractGenOutputItem generateSingleContract(ContractGenInputItem item, Long userId);

    /**
     * 发起合同签署
     * 
     * @param signInput 签署入参
     * @return 签署流程id
     */
    ContractSignOutput signContract(ContractSignInput signInput);
}
