package com.sunxung.factoring.component.util;

import java.math.BigDecimal;

/**
 * @Description:先息后本工具类
 * @Author:wanxiangZhou
 * @E_mail:303526821@qq.com
 * @Date:2017年7月20日 下午9:15:00
 */
public class BIAfterPrincipalUtil_yinke {

    /**
     * 还款总利息：融资总额*每期利率*还款期数-现金流量调整（整列求和包括第0期）. <br/>
     * 
     * @param invest 融资总额
     * @param periodRate 期利率
     * @param period 还款期数
     * @param cashFlowAdjustSum 现金流量调整（整列求和，包括第0期）
     * @return 总利息
     */
    public static BigDecimal getInterestCount(BigDecimal invest, double periodRate, int period,
            BigDecimal cashFlowAdjustSum) {
        if (null != invest && periodRate != 0 && period != 0) {
            return invest.multiply(new BigDecimal(periodRate)).multiply(new BigDecimal(period))
                    .subtract(cashFlowAdjustSum);
        }
        return null;
    }

    /**
     * 还本期限：每期偿还本金. <br/>
     * 
     * @param invest 总借款额（贷款本金）
     * @param period 还款总期数
     * @return
     */
    public static BigDecimal getPerPeriodPrincipal(BigDecimal invest, int period) {
        return invest.divide(new BigDecimal(period), 2, BigDecimal.ROUND_HALF_UP);
    }
}
