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

import cn.hutool.json.JSONObject;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.model.dto.LoginSuccessDTO;
import com.mmc.iuav.user.model.dto.xzsz.UsableCashPoolingDTO;
import com.mmc.iuav.user.model.vo.XzAuthVO;
import com.mmc.iuav.user.model.vo.XzWithdrawalVO;
import com.mmc.iuav.user.xzsz.SingleSubmitResp;
import com.mmc.iuav.user.xzsz.WithdrawalResp;

/**
 * @author: zj
 * @Date: 2023/8/21 9:52
 */
public interface XzService {
    ResultBody getTaxFundList();

    ResultBody getCashPooling();

    UsableCashPoolingDTO getUsableCashPooling();

    String getContractScope(XzAuthVO xzAuthVO);

    String hasKeyByUrl(LoginSuccessDTO loginSuccessDTO);

    String xzAuthNotify(JSONObject notify);

    JSONObject getSignedResult(XzAuthVO xzAuthVO);

    String viewContract(String documentId);

    ResultBody clearTestFace(String name, String idCard);

    SingleSubmitResp singleSubmit(XzWithdrawalVO xzWithdrawalVO);

    WithdrawalResp querySingleTrade(String outerTradeNo);

    ResultBody querySingleReceipt(String frontLogNo);

    String xzWithdrawNotify(JSONObject notify);

    SingleSubmitResp singleSubmitLimit(XzWithdrawalVO xzWithdrawalVO);
}
