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


import com.brilliance.isc.esb.model.ejs.*;
import com.brilliance.isc.esb.newmodel.PeripheralRequest;
import com.brilliance.isc.esb.newmodel.PeripheralResponse;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * EJS 国结提供e结算查询接口
 *
 * @restApi
 */

@RequestMapping("/SSTF")
public interface EjsServer {
    /**
     * EjsHlcx e结算汇率查询
     *
     * @param reqEjsHlcx
     * @return
     */
    @PostMapping("/EjsHlcx")
    ResEjsHlcx doEjsHlcx(ReqEjsHlcx reqEjsHlcx);


    /**
     * EjsMyhjy e结算密押行校验接口
     *
     * @param reqEjsMyhjy
     * @return
     */
    @PostMapping("/EjsMyhjy")
    ResEjsMyhjy doEjsMyhjy(ReqEjsMyhjy reqEjsMyhjy);


    /**
     * EjsSyrhglb e结算受益人海关列表
     *
     * @param reqEjsSyrhglb
     * @return
     */
    @PostMapping("/EjsSyrhglb")
    ResEjsSyrhglb doEjsSyrhglb(ReqEjsSyrhglb reqEjsSyrhglb);

    /**
     * etcxjg e结算机构查询
     *
     * @param reqEtcxjg
     * @return
     */
    @PostMapping("/etcxjg")
    ResEtcxjg doEtcxjg(ReqEtcxjg reqEtcxjg);

    /**
     * seg01 网银推送e结算客户签约解约信息
     *
     * @param reqSeg01
     * @return
     */
    @PostMapping("/seg01")
    ResSeg01 doSeg01(ReqSeg01 reqSeg01);

    /**
     * seg02 网银购汇参数查询
     *
     * @param reqSeg02
     * @return
     */
    @PostMapping("/seg02")
    ResSeg02 doSeg02(ReqSeg02 reqSeg02);

    /**
     * seg03 网银购汇限额查询
     *
     * @param reqSeg03
     * @return
     */
    @PostMapping("/seg03")
    ResSeg03 doSeg03(ReqSeg03 reqSeg03);

    /**
     * seg04 网银购汇优惠汇率查询
     *
     * @param reqSeg04
     * @return
     */
    @PostMapping("/seg04")
    ResSeg04 doSeg04(ReqSeg04 reqSeg04);

    /**
     * seg05 对公电子渠道购汇额度调整优化
     *
     * @param reqSeg05
     * @return
     */
    @PostMapping("/seg05")
    ResSeg05 doSeg05(ReqSeg05 reqSeg05);

    /**
     * seg06 根据客户号查询账号和币种
     *
     * @param reqSeg06
     * @return
     */
    @PostMapping("/seg06")
    ResSeg06 doSeg06(ReqSeg06 reqSeg06);

    /**
     * e结算银行签章查询
     * @param reqEjsqzcx
     * @return
     */
    @PostMapping("/Ejsqzcx")
    ResEjsqzcx doEjsQzxc(ReqEjsqzcx reqEjsqzcx);

    @PostMapping("/ejstgj")
    PeripheralResponse handlerServer(PeripheralRequest peripheralRequest);
}
