Billing Service 阶梯优惠设计
Ladder Price
阶梯 | 核时范围 | 价格 |
---|---|---|
第一阶梯 | <10000 | ¥0.1 |
第二阶梯 | 10000~20000 | ¥0.08 |
第三阶梯 | >20000 | ¥0.06 |
LadderEnum : 对应S3上面的price文件
public enum LadderPrice {
LADDER1PRICE,
LADDER2PRICE,
LADDER3PRICE
}
计算逻辑
第一阶梯费用 = 第一阶梯核时 * 第一阶梯价格
第二阶梯费用 = 第二阶梯核时 * 第二阶梯价格
第三阶梯费用 = 第三阶梯核时 * 第三阶梯价格
总费用 = 第一阶梯费用 + 第二阶梯费用 + 第三阶梯费用
example:
coreHour = 35000;
第一阶梯费用=[35000 - (35000-10000)]*0.1 = 1000;
corehour = 25000;
第二阶梯费用=第一阶梯费用 + [25000 - (25000-10000)]*0.08 = 800;
corehour = 15000;
第三阶段费用=第二阶段费用 + 15000 * 0.06 = 900;
总费用= 1000+800+900 = 2700
// Mock Price
private static final BigDecimal LADDER1PRICE = BigDecimal.valueOf(0.1);
private static final BigDecimal LADDER2PRICE = BigDecimal.valueOf(0.08);
private static final BigDecimal LADDER3PRICE = BigDecimal.valueOf(0.06);
public static void main(String[] args) {
BigDecimal coreHour = BigDecimal.valueOf(35000L);<