package com.mmc.iuav.user.service.fdd;

import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.model.dto.LoginSuccessDTO;
import com.mmc.iuav.user.model.fdd.vo.ContractVO;

/**
 * @Author LW
 * @date 2022/9/5 14:38
 * 概要：
 */
public interface ContractService {
    /**
     * 上传合同
     *
     * @param param
     * @param id
     * @return
     */
    ResultBody uploadContract(ContractVO param, Integer id);

    ResultBody viewContract(String contractId);

    ResultBody downloadContract(String contractId);

    ResultBody stamp(String contractId, LoginSuccessDTO loginSuccessDTO, String pages, Integer port);

//    /**
//     * 预览合同
//     * @param contractId
//     * @return
//     */
//    ResultBody viewContract(String contractId);
//
//    /**
//     * 下载合同
//     * @param contractId
//     * @return
//     */
//    String downloadContract(String contractId);
//
//    /**
//     * 手动签署
//     * @param contractId
//     * @param id
//     * @param unionId
//     * @param pages
//     * @return
//     */
//    ResultBody stamp(String contractId, Integer id,String unionId,String pages);
//
//    /**
//     * 异步回调
//     * @param map
//     * @return
//     */
//    ResultBody notifyStamp(Map<String, String> map);
//
//    /**
//     * 选择列表
//     *
//     * @param qo 问:
//     * @return {@link ResultBody}<{@link List}<{@link UavContractInfoDTO}>>
//     */
//    ResultBody<List<UavContractInfoDTO>> selectList(UavContractInfoQO qo);
//
//    /**
//     * 合同归档
//     * @param contractId
//     * @param id
//     * @return
//     */
//    ResultBody file(String contractId, Integer id);
//
//    /**
//     * 列表uavcontract oid
//     *
//     * @param orderIds 订单id
//     * @return {@link List}<{@link UavContractInfoDTO}>
//     */
//    List<UavContractInfoDTO> feignListUAVContractByOIds(List<Long> orderIds);
//
//    /**
//     * 假装被oid uavcontract
//     *
//     * @param orderId 订单id
//     * @return {@link UavContractInfoDTO}
//     */
//    UavContractInfoDTO feignGetUAVContractByOId(Long orderId);
//
//    ResultBody feignRemoveContractByOrderId(Long orderId);
}
