package com.brilliance.isc.common.limmod.service;

import com.brilliance.isc.common.limmod.vo.LimmodVo;
import com.brilliance.isc.esb.model.inner.InnerRes;

public interface LimOptionService<T> {
    /**
     * 额度计算入口
     * @param limmodVo
     */
    void assertLim(LimmodVo limmodVo);

    /**
     * 额度接口调用
     * @param limmodVo
     */
    void callEsb(LimmodVo limmodVo);

    /**
     * 额度数据组装
     * @param limmodVo
     */
    void limDataCal(LimmodVo limmodVo);

    /**
     * 额度参数注册
     * @param limmodVo
     */
    void LimRegParstm(LimmodVo limmodVo);

    /**
     * 接口返回值映射
     * @param innerRes
     * @param limmodVo
     */
    void responseMapping(InnerRes<T> innerRes, LimmodVo limmodVo);

    /**
     * 存表
     * @param limmodVo
     */
    void saveTables(LimmodVo limmodVo);

}
