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 InnerEbmpServer {
    /**
     * 6603 中台系统提供国结发送汇总征税保函复核交易信息
     *
     * @param innerReq6603
     * @return
     */
    @PostMapping("/6603")
    InnerRes<InnerRes6603> call6603(InnerReq<InnerReq6603> innerReq6603);


    /**
     * 6605 中台系统提供国结发送汇总征税保函状态同步。
     *
     * @param innerReq6605
     * @return
     */
    @PostMapping("/6605")
    InnerRes<InnerRes6605> call6605(InnerReq<InnerReq6605> innerReq6605);

    /**
     * SF03 g系统往报
     *
     * @param innerReqSF03
     * @return
     */
    @PostMapping("/SF03")
    InnerRes<InnerResSF03> callSF03(InnerReq<InnerReqSF03> innerReqSF03);

    /**
     * ZM01 关税保函发送交易
     *
     * @param innerReqZM01
     * @return
     */
    @PostMapping("/ZM01")
    InnerRes<InnerResZM01> callZM01(InnerReq<InnerReqZM01> innerReqZM01);

    /**
     * TM01 企业名录查询
     *
     * @param innerReqTM01
     * @return
     */
    @PostMapping("/TM01")
    InnerRes<InnerResTM01> callTM01(InnerReq<InnerReqTM01> innerReqTM01);

    /**
     * 6702 中台系统提供退回(撤销)报文接口
     *
     * @param innerReq6702
     * @return
     */
    @PostMapping("/6702")
    InnerRes<InnerRes6702> call6702(InnerReq<InnerReq6702> innerReq6702);

    /**
     * 6703 中台系统提供报文返回结果接口
     *
     * @param innerReq6703
     * @return
     */
    @PostMapping("/6703")
    InnerRes<InnerRes6703> call6703(InnerReq<InnerReq6703> innerReq6703);

    /**
     * 6704 中台系统提供收汇接口
     *
     * @param innerReq6704
     * @return
     */
    @PostMapping("/6704")
    InnerRes<InnerRes6704> call6704(InnerReq<InnerReq6704> innerReq6704);

    /**
     * 6706 国结通知中台收汇结果接口
     *
     * @param innerReq6706
     * @return
     */
    @PostMapping("/6706")
    InnerRes<InnerRes6706> call6706(InnerReq<InnerReq6706> innerReq6706);

    /**
     * 6802 CIPS报文退回(撤销)接口
     *
     * @param innerReq6802
     * @return
     */
    @PostMapping("/6802")
    InnerRes<InnerRes6802> call6802(InnerReq<InnerReq6802> innerReq6802);

    /**
     * 6803 CIPS付汇报文返回结果接口
     *
     * @param innerReq6803
     * @return
     */
    @PostMapping("/6803")
    InnerRes<InnerRes6803> call6803(InnerReq<InnerReq6803> innerReq6803);

    /**
     * 6804 人民币报文收汇通知接口
     *
     * @param innerReq6804
     * @return
     */
    @PostMapping("/6804")
    InnerRes<InnerRes6804> call6804(InnerReq<InnerReq6804> innerReq6804);

    /**
     * 6806 国结通知中台人民币收汇结果接口
     *
     * @param innerReq6806
     * @return
     */
    @PostMapping("/6806")
    InnerRes<InnerRes6806> call6806(InnerReq<InnerReq6806> innerReq6806);

    /**
     * 6902 退回(撤销)支付机构汇款交易接口
     *
     * @param innerReq6902
     * @return
     */
    @PostMapping("/6902")
    InnerRes<InnerRes6902> call6902(InnerReq<InnerReq6902> innerReq6902);

    /**
     * 6903 报文返回结果接口
     *
     * @param innerReq6903
     * @return
     */
    @PostMapping("/6903")
    InnerRes<InnerRes6903> call6903(InnerReq<InnerReq6903> innerReq6903);
}
