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 InnerWhjServer {

    /**
     * 外汇局主接口受理
     *
     * @param req
     * @return
     */
    @PostMapping("/whj")
    InnerRes<InnerResWhj> callWhj(InnerReq<InnerReqWhj> req);

    /**
     * 备案表业务受理
     *
     * @param req
     * @return
     */
    @PostMapping("/tax/accept")
    InnerRes<InnerResTax> callTaxaccept(InnerReq<InnerReqTaxaccept> req);

    /**
     * 备案表付汇取消
     *
     * @param req
     * @return
     */
    @PostMapping("/tax/cancel")
    InnerRes<InnerResTax> callTaxcancel(InnerReq<InnerReqTaxcancel> req);

    /**
     * 备案表预核验
     *
     * @param req
     * @return
     */
    @PostMapping("/tax/check")
    InnerRes<InnerResTax> callTaxcheck(InnerReq<InnerReqTaxcheck> req);

    /**
     * 备案表付汇确认
     *
     * @param req
     * @return
     */
    @PostMapping("/tax/confirm")
    InnerRes<InnerResTax> callTaxconfirm(InnerReq<InnerReqTaxconfirm> req);

    /**
     * 备案表付汇修改
     *
     * @param req
     * @return
     */
    @PostMapping("/tax/modify")
    InnerRes<InnerResTax> callTaxmodify(InnerReq<InnerReqTaxmodify> req);

    /**
     * 备案表业务详情查询
     *
     * @param req
     * @return
     */
    @PostMapping("/tax/qrydetail")
    InnerRes<InnerResTax> callTaxqrydetail(InnerReq<InnerReqTaxqrydetail> req);

    /**
     * 备案表业务列表查询
     *
     * @param req
     * @return
     */
    @PostMapping("/tax/qrylist")
    InnerRes<InnerResTax> callTaxqrylist(InnerReq<InnerReqTaxqrylist> req);

    /**
     * 上链失败重试
     *
     * @param req
     * @return
     */
    @PostMapping("/tax/retry")
    InnerRes<InnerResTax> callTaxretry(InnerReq<InnerReqTaxretry> req);
}
