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


import com.brilliance.isc.esb.model.clm.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * CLM 额度管理系统请求方
 *
 * @restApi
 */
//@RequestMapping("/ceb/webapi/edsp")
public interface ClmClient {
    /**
     * CL40 额度组合一占一放
     *
     * @param reqCL40
     * @return
     */
    @PostMapping("/CL40/dealTran")
    ResCL40 callCL40(@RequestBody ReqCL40 reqCL40);

    /**
     * CL41 额度试算
     *
     * @param reqCL41
     * @return
     */
    @PostMapping("/CL41/dealTran")
    ResCL41 callCL41(ReqCL41 reqCL41);

    /**
     * CL42 额度查询
     *
     * @param reqCL42
     * @return
     */
    @PostMapping("/CL42/dealTran")
    ResCL42 callCL42(ReqCL42 reqCL42);

    /**
     * CL43 额度占用
     *
     * @param reqCL43
     * @return
     */
    @PostMapping("/CL43/dealTran")
    ResCL43 callCL43(ReqCL43 reqCL43);

    /**
     * CL44 额度释放
     *
     * @param reqCL44
     * @return
     */
    @PostMapping("/CL44/dealTran")
    ResCL44 callCL44(ReqCL44 reqCL44);

    /**
     * CL45 额度业务查询
     *
     * @param reqCL45
     * @return
     */
    @PostMapping("/CL45/dealTran")
    ResCL45 callCl45(ReqCL45 reqCL45);

    /**
     * CL81 额度查询
     *
     * @param reqCL81
     * @return
     */
    @PostMapping("/CL81/dealTran")
    ResCL81 callCl81(ReqCL81 reqCL81);

    /**
     * CL82 额度流水查询
     *
     * @param reqCL82
     * @return
     */
    @PostMapping("/CL82/dealTran")
    ResCL82 callCl82(ReqCL82 reqCL82);

    /**
     * CL83 额度信息同步
     *
     * @param reqCL83
     * @return
     */
    @PostMapping("/CL83/dealTran")
    ResCL83 callCl83(ReqCL83 reqCL83);

    /**
     * CL85 额度回滚
     *
     * @param reqCL85
     * @return
     */
    @PostMapping("/CL85/dealTran")
    ResCL85 callCl85(ReqCL85 reqCL85);

    /**
     * CL86 额度转授权信息变更
     *
     * @param reqCL86
     * @return
     */
    @PostMapping("/CL86/dealTran")
    ResCL86 callCL86(ReqCL86 reqCL86);
}
