package com.nq.utils; import java.math.BigDecimal; import java.math.RoundingMode; public class TradeFeeUtil { public static final BigDecimal BUY_FEE_RATE = new BigDecimal("0.03"); private TradeFeeUtil() { } public static BigDecimal calcBuyFee(BigDecimal buyAmt) { if (buyAmt == null) { return BigDecimal.ZERO; } return buyAmt.multiply(BUY_FEE_RATE).setScale(2, RoundingMode.HALF_UP); } public static BigDecimal calcBuyFeeByNotional(BigDecimal notional, Integer lever) { return calcBuyFee(notional); } public static BigDecimal calcBuyDebit(BigDecimal margin, BigDecimal fee) { BigDecimal marginAmt = margin == null ? BigDecimal.ZERO : margin; BigDecimal feeAmt = fee == null ? BigDecimal.ZERO : fee; return marginAmt.add(feeAmt).setScale(2, RoundingMode.HALF_UP); } }