package com.brilliance.isc.common.esb.whj;

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

public interface IWhjFeign {

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

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

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

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

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

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

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

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

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