package com.brilliance.isc.esb.api.inner;

import com.brilliance.isc.esb.model.inner.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * jk 对内系统的核心服务端接口
 *
 * @restApi
 */

@RequestMapping("/jk")
public interface InnerHxServer {
    /**
     * 0208 账号查询
     *
     * @param innerReq0208
     * @return
     */
    @PostMapping("/0208")
    InnerRes<InnerRes0208> call0208(InnerReq<InnerReq0208> innerReq0208);

    /**
     * 4309 购汇账户控制
     *
     * @param innerReq4309
     * @return
     */
    @PostMapping("/4309")
    InnerRes<InnerRes4309> call4309(InnerReq<InnerReq4309> innerReq4309);

    /**
     * 6311 用借据号查询贷款信息
     *
     * @param innerReq6311
     * @return
     */
    @PostMapping("/6311")
    InnerRes<InnerRes6311> call6311(InnerReq<InnerReq6311> innerReq6311);

    /**
     * 6157 核心系统提供的贷款还款试算交易
     *
     * @param innerReq6157
     * @return
     */
    @PostMapping("/6157")
    InnerRes<InnerRes6157> call6157(InnerReq<InnerReq6157> innerReq6157);

    /**
     * 2571 核心系统提供实时查询基准利率交易
     *
     * @param innerReq2571
     * @return
     */
    @PostMapping("/2571")
    InnerRes<InnerRes2571> call2571(InnerReq<InnerReq2571> innerReq2571);

    /**
     * 9011 查询内部帐历史明细
     *
     * @param innerReq9011
     * @return
     */
    @PostMapping("/9011")
    InnerRes<InnerRes9011> call9011(InnerReq<InnerReq9011> innerReq9011);

    /**
     * 4102 是核心提供的对公定期存款销户
     *
     * @param innerReq4102
     * @return
     */
    @PostMapping("/4102")
    InnerRes<InnerRes4102> call4102(InnerReq<InnerReq4102> innerReq4102);

    /**
     * 4203 核心系统提供对公定期存款部分提支
     *
     * @param innerReq4203
     * @return
     */
    @PostMapping("/4203")
    InnerRes<InnerRes4203> call4203(InnerReq<InnerReq4203> innerReq4203);

    /**
     * 4316 核心系统提供账户冻结交易
     *
     * @param innerReq4316
     * @return
     */
    @PostMapping("/4316")
    InnerRes<InnerRes4316> call4316(InnerReq<InnerReq4316> innerReq4316);


    /**
     * 4317 核心系统提供帐户冻结查询修改解冻操作
     *
     * @param innerReq4317
     * @return
     */
    @PostMapping("/4317")
    InnerRes<InnerRes4317> call4317(InnerReq<InnerReq4317> innerReq4317);


    /**
     * 4338 核心系统福费廷冲账交易
     *
     * @param innerReq4338
     * @return
     */
    @PostMapping("/4338")
    InnerRes<InnerRes4338> call4338(InnerReq<InnerReq4338> innerReq4338);


    /**
     * 4370 核心系统提供根据帐号查询账户冻结信息
     *
     * @param innerReq4370
     * @return
     */
    @PostMapping("/4370")
    InnerRes<InnerRes4370> call4370(InnerReq<InnerReq4370> innerReq4370);


    /**
     * 8003 核心系统提供的系统内划款
     *
     * @param innerReq8003
     * @return
     */
    @PostMapping("/8003")
    InnerRes<InnerRes8003> call8003(InnerReq<InnerReq8003> innerReq8003);


    /**
     * 9509 核心系统提供的实时查询自贸区特殊汇率
     *
     * @param innerReq9509
     * @return
     */
    @PostMapping("/9509")
    InnerRes<InnerRes9509> call9509(InnerReq<InnerReq9509> innerReq9509);

    /**
     * 7704 核心冲正
     *
     * @param innerReq7704
     * @return
     */
    @PostMapping("/7704")
    InnerRes<InnerRes7704> call7704(InnerReq<InnerReq7704> innerReq7704);

    /**
     * 7794是核心系统提供的针对核心系统记账交易的冲正交易，
     * 	     被冲正的交易包括核心系统提供的所有交易
     *
     * @param innerReq7794
     * @return
     */
    @PostMapping("/7794")
    InnerRes<InnerRes7794> call7794(InnerReq<InnerReq7794> innerReq7794);

    /**
     * 7708 核心系统提供转账交易
     *
     * @param innerReq7708
     * @return
     */
    @PostMapping("/7708")
    InnerRes<InnerRes7708> call7708(InnerReq<InnerReq7708> innerReq7708);


    /**
     * 7759 核心记账
     *
     * @param innerReq7759
     * @return
     */
    @PostMapping("/7759")
    InnerRes<InnerCommpose7759Res> call7759(InnerReq<InnerReq7759> innerReq7759);


    /**
     * 6153是核心提供的融资开户交易，该交易将融资帐号返回给国结
     *
     * @param innerReq6153
     * @return
     */
    @PostMapping("/6153")
    InnerRes<InnerCommpose6153Res> call6153(InnerReq<InnerReq6153> innerReq6153);


    /**
     * 5006 核心记账
     *
     * @param innerReq5006
     * @return
     */
    @PostMapping("/5006")
    InnerRes<InnerRes5006> call5006(InnerReq<InnerReq5006> innerReq5006);


    /**
     * 8002 核心系统提供的系统内划款
     *
     * @param innerReq8002
     * @return
     */
    @PostMapping("/8002")
    InnerRes<InnerCommpose8002Res> call8002(InnerReq<InnerReq8002> innerReq8002);

    /**
     * 8129 服务接口
     *
     * @param innerReq8129
     * @return
     */
    @PostMapping("/8129")
    InnerRes<InnerRes8129> call8129(InnerReq<InnerReq8129> innerReq8129);

    /**
     * 8023 核心系统提供查询账户信息
     *
     * @param innerReq8023
     * @return
     */
    @PostMapping("/8023")
    InnerRes<InnerRes8023> call8023(InnerReq<InnerReq8023> innerReq8023);

    /**
     * 8091 核心系统提供根据帐号查询账户信息
     *
     * @param innerReq8091
     * @return
     */
    @PostMapping("/8091")
    InnerRes<InnerRes8091> call8091(InnerReq<InnerReq8091> innerReq8091);

    /**
     * 8760 核心系统提供向核心系统发送资金报文交易
     *
     * @param innerReq8760
     * @return
     */
    @PostMapping("/8760")
    InnerRes<InnerRes8760> call8760(InnerReq<InnerReq8760> innerReq8760);

    /**
     * 9215 核心系统提供的实时查询外汇牌价交易
     *
     * @param innerReq9215
     * @return
     */
    @PostMapping("/9215")
    InnerRes<InnerRes9215> call9215(InnerReq<InnerReq9215> innerReq9215);


    /**
     * C017 核心系统提供根据帐号查询账户信息响应
     *
     * @param innerReqC017
     * @return
     */
    @PostMapping("/C017")
    InnerRes<InnerResC017> callC017(InnerReq<InnerReqC017> innerReqC017);

    /**
     * 8590 手动获取uetr号
     *
     * @param innerReq8590
     * @return
     */
    @PostMapping("/8590")
    InnerRes<InnerRes8590> call8590(InnerReq<InnerReq8590> innerReq8590);

    /**
     * 8915 境内外币往账查询
     *
     * @param innerReq8915
     * @return
     */
    @PostMapping("/8915")
    InnerRes<InnerRes8915> call8915(InnerReq<InnerReq8915> innerReq8915);

    /**
     * 8910 境内外币跨行贷记业务录入、复核
     *
     * @param innerReq8910
     * @return
     */
    @PostMapping("/8910")
    InnerRes<InnerCommpose8910Res> call8910(InnerReq<InnerReq8910> innerReq8910);

    /**
     * 8437 核心系统提供8437国结人民币来报退回
     *
     * @param innerReq8437
     * @return
     */
    @PostMapping("/8437")
    InnerRes<InnerRes8437> call8437(InnerReq<InnerReq8437> innerReq8437);

    /**
     * 8995 境内外币报文预判交易
     *
     * @param innerReq8995
     * @return
     */
    @PostMapping("/8995")
    InnerRes<InnerRes8995> call8995(InnerReq<InnerReq8995> innerReq8995);

    /**
     * 8752 CIPS系统提供转账汇款（提供国结）结果
     *
     * @param innerReq8752
     * @return
     */
    @PostMapping("/8752")
    InnerRes<InnerRes8752> call8752(InnerReq<InnerReq8752> innerReq8752);

    /**
     * 8755 CIPS系统国结业务退结果
     *
     * @param innerReq8755
     * @return
     */
    @PostMapping("/8755")
    InnerRes<InnerRes8755> call8755(InnerReq<InnerReq8755> innerReq8755);


    /**
     * 8150 核心系统提供提供境内外币发报交易【组合交易】
     *
     * @param innerReq8150
     * @return
     */
    @PostMapping("/8150")
    InnerRes<InnerCommpose8150Res> call8150(InnerReq<InnerReq8150> innerReq8150);

    /**
     * 8416 核心系统提供二代支付普通汇兑交易【组合交易】
     *
     * @param innerReq8416
     * @return
     */
    @PostMapping("/8416")
    InnerRes<InnerCommpose8416Res> call8416(InnerReq<InnerReq8416> innerReq8416);

    /**
     * 8452 核心系统提供二代支付联动查询交易
     *
     * @param innerReq8452
     * @return
     */
    @PostMapping("/8452")
    InnerRes<InnerRes8452> call8452(InnerReq<InnerReq8452> innerReq8452);

    /**
     * 8485 核心系统提供二代支付往账查询
     *
     * @param innerReq8485
     * @return
     */
    @PostMapping("/8485")
    InnerRes<InnerRes8485> call8485(InnerReq<InnerReq8485> innerReq8485);

    /**
     * 8159 核心系统提供查询境内外币报文状态响应
     *
     * @param innerReq8159
     * @return
     */
    @PostMapping("/8159")
    InnerRes<InnerRes8159> call8159(InnerReq<InnerReq8159> innerReq8159);

    /**
     * 8758
     *
     * @param innerReq8758
     * @return
     */
    @PostMapping("/8758")
    InnerRes<InnerRes8758> call8758(InnerReq<InnerReq8758> innerReq8758);

    /**
     * 8680 核心系统提供二代支付来账查询
     *
     * @param innerReq8680
     * @return
     */
    @PostMapping("/8680")
    InnerRes<InnerRes8680> call8680(InnerReq<InnerReq8680> innerReq8680);

    /**
     * 6107 核心系统提供贷款还款交易
     *
     * @param InnerReq6107
     * @return
     */
    @PostMapping("/6107")
    InnerRes<InnerRes6107> call6107(InnerReq<InnerReq6107> InnerReq6107);

    /**
     * 6153_1 核心系统提供交易
     *
     * @param InnerReq6153
     * @return
     */
    @PostMapping("/6153_1")
    InnerRes<InnerRes6153> call6153_1(InnerReq<InnerReq6153> InnerReq6153);

    /**
     * 615377597788 福费廷直通式放款组合交易【组合交易】
     *
     * @param innerReq615377597788
     * @return
     */
    @PostMapping("/615377597788")
    InnerRes<InnerCommpose615377597788Res> call615377597788(InnerReq<InnerReq615377597788> innerReq615377597788);

    /**
     * 615377598416 组合交易【组合交易】
     *
     * @param innerReq615377598416
     * @return
     */
    @PostMapping("/615377598416")
    InnerRes<InnerCommpose615377598416Res> call615377598416(InnerReq<InnerReq615377598416> innerReq615377598416);

    /**
     * 8913 核心系统提供境内外币来报入账状态同步
     *
     * @param InnerReq8913
     * @return
     */
    @PostMapping("/8913")
    InnerRes<InnerRes8913> call8913(InnerReq<InnerReq8913> InnerReq8913);

    /**
     * 8010 核心系统提供境内外币来报入账状态同步
     *
     * @param InnerReq8010
     * @return
     */
    @PostMapping("/8010")
    InnerRes<InnerRes8010> call8010(InnerReq<InnerReq8010> InnerReq8010);

    /**
     * 8110 系统外来帐信息查询
     *
     * @param InnerReq8110
     * @return
     */
    @PostMapping("/8110")
    InnerRes<InnerRes8110> call8110(InnerReq<InnerReq8110> InnerReq8110);

    /**
     * 8486 根据业务编号查询一段时间内的直通式交易状态（小额查）
     *
     * @param InnerReq8486
     * @return
     */
    @PostMapping("/8486")
    InnerRes<InnerRes8486> call8486(InnerReq<InnerReq8486> InnerReq8486);

    /**
     * 1640 代客外汇买卖及大额结售汇经办
     *
     * @param InnerReq1640
     * @return
     */
    @PostMapping("/1640")
    InnerRes<InnerRes1640> call1640(InnerReq<InnerReq1640> InnerReq1640);

    /**
     * 1642 代客外汇买卖查询
     *
     * @param InnerReq1642
     * @return
     */
    @PostMapping("/1642")
    InnerRes<InnerRes1642> call1642(InnerReq<InnerReq1642> InnerReq1642);

    /**
     * 1643 代客外汇买卖递归查询
     *
     * @param InnerReq1643
     * @return
     */
    @PostMapping("/1643")
    InnerRes<InnerRes1643> call1643(InnerReq<InnerReq1643> InnerReq1643);

    /**
     * 1649 代客外汇买卖及大额结售汇复核
     *
     * @param InnerReq1649
     * @return
     */
    @PostMapping("/1649")
    InnerRes<InnerRes1649> call1649(InnerReq<InnerReq1649> InnerReq1649);

    /**
     * 1654 远期、调期交易成交后处理经办
     *
     * @param InnerReq1654
     * @return
     */
    @PostMapping("/1654")
    InnerRes<InnerRes1654> call1654(InnerReq<InnerReq1654> InnerReq1654);

    /**
     * 1655 远期、调期交易成交后处理复核
     *
     * @param InnerReq1655
     * @return
     */
    @PostMapping("/1655")
    InnerRes<InnerRes1655> call1655(InnerReq<InnerReq1655> InnerReq1655);

    /**
     * 1697 联动查询结售汇登记簿
     *
     * @param InnerReq1697
     * @return
     */
    @PostMapping("/1697")
    InnerRes<InnerRes1697> call1697(InnerReq<InnerReq1697> InnerReq1697);

    /**
     * 1693 联动查询结售汇登记簿
     *
     * @param InnerReq1693
     * @return
     */
    @PostMapping("/1693")
    InnerRes<InnerRes1693> call1693(InnerReq<InnerReq1693> InnerReq1693);
}
