package com.muchinfo.mtp3century.service;

import com.muchinfo.mtp3century.utils.AjaxResult;
import com.muchinfo.mtp3common.vo.PageResult;
import com.muchinfo.mtp3pojos.entity.*;
import com.muchinfo.mtp3pojos.vo.bankbusiness.*;

import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;

public interface IBankBusinessService {
    AjaxResult<BankSystemconfig> banksystemconfig(HttpServletRequest request);

    AjaxResult saveSystemDetail(BankSystemConfigParam param, HttpServletRequest request);

    AjaxResult<BankCusbankinfo> bankcusquery(HttpServletRequest request);

    AjaxResult<BankCusbankinfoDetailResult> bankcusdetail(String cusbankid, HttpServletRequest request);

    AjaxResult<BankBankinfo> queryBankInfoSelect(String searchcode, HttpServletRequest request);

    AjaxResult dealBankInfo(BankCusBankInfoParam param, HttpServletRequest request);

    AjaxResult deleteBankInfo(String cusbankid, HttpServletRequest request);

    AjaxResult<BankCusbankextendconfig> queryExtendset(String cusbankid, HttpServletRequest request);

    AjaxResult<BankExtendBizTypeResult> extendBizTypeInit(String cusbankid, HttpServletRequest request);

    AjaxResult<BankCusbankextendconfig> extendDetail(String cusbankid, Integer extendbiztype, HttpServletRequest request);

    AjaxResult dealBankExtend(BankExtendAddParam param, HttpServletRequest request);

    AjaxResult delExtend(String cusbankid, Integer extendbiztype, HttpServletRequest request);

    AjaxResult<BankCusbanksignbank> queryBankSignList(String cusbankid, HttpServletRequest request);

    AjaxResult<BankBankinfo> queryBankInfoNotExist(String cusbankid, HttpServletRequest request);

    AjaxResult delBankInfo(String cusbankid, Integer bankid, HttpServletRequest request);

    AjaxResult dealBankCusBankSign(BankCusBankSignAddParam param, HttpServletRequest request);

    PageResult<BankAccountSignLogQueryResult> signLogQuery(BankAccountSignLogQueryParam param, HttpServletRequest request);

    AjaxResult<BankAccountsignlog> signLogDetail(String cusbankid, Integer exchticket, HttpServletRequest request);

    AjaxResult signLogExport(BankAccountSignLogQueryParam param, HttpServletRequest request);

    AjaxResult<HybridChannelConfig> querymixbanklist(HttpServletRequest request);

    AjaxResult mixbankeditsubmit(BankMixBankUpdateParam param, HttpServletRequest request);

    AjaxResult deletemixbankedit(String channelCode, HttpServletRequest request);

    PageResult<HybridBankinfo> querychannelbanklist(BankChannleBankParam param, HttpServletRequest request);

    AjaxResult<BankQueryAccInfoResult> bankQueryAccInfo(Integer accountid, HttpServletRequest request);

    PageResult<BankAmounttransfer> queryCommission(BankCommissionParam param, HttpServletRequest request);

    AjaxResult<BigDecimal> queryMoneyjdjs(String cusbankid, String acctype, HttpServletRequest request);

    AjaxResult addjdjs(BankAmounttransfer param, HttpServletRequest request);
}
