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 对内e结算服务端接口
 *
 * @restApi
 */

@RequestMapping("/jk")
public interface InnerEjsServer {
    /**
     * etradefbk e结算退回
     *
     * @param innerReqEtradefbk
     * @return
     */
    @PostMapping("/etradefbk")
    public InnerRes<InnerResEtradefbk> callFbk(InnerReq<InnerReqEtradefbk> innerReqEtradefbk);

    /**
     * etrade_hrztcx 汇入状态通知查询
     *
     * @param innerReqHrztcx
     * @return
     */
    @PostMapping("/hrztcx")
    public InnerRes<InnerResHrztcx> callTcx(InnerReq<InnerReqHrztcx> innerReqHrztcx);

    /**
     * etradeSyncxm 保函查询码
     *
     * @param innerReqEtradeSyncxm
     * @return
     */
    @PostMapping("/etradeSyncxm")
    public InnerRes<InnerResEtradeSyncxm> callEtradeSyncxm(InnerReq<InnerReqEtradeSyncxm> innerReqEtradeSyncxm);

    /**
     * etradeGe34 GE34-e结算-自助购汇额度明细查询
     *
     * @param innerReqEtradeGe34
     * @return
     */
    @PostMapping("/etradeGe34")
    public InnerRes<InnerResEtradeGe34> callEtradeGe34(InnerReq<InnerReqEtradeGe34> innerReqEtradeGe34);

    /**
     * etradeGe39 GE39-e结算-结付汇加锁、解锁
     *
     * @param innerReqEtradeGe39
     * @return
     */
    @PostMapping("/etradeGe39")
    public InnerRes<InnerResEtradeGe39> callEtradeGe39(InnerReq<InnerReqEtradeGe39> innerReqEtradeGe39);
}
