From 1f19b78818609bf6d0849f8e58b349132a800538 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Mon, 01 Jun 2026 17:08:49 +0800
Subject: [PATCH] 1

---
 src/main/java/com/nq/utils/TradeFeeUtil.java |   29 +++++++++++++++++++++++++++++
 1 files changed, 29 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/nq/utils/TradeFeeUtil.java b/src/main/java/com/nq/utils/TradeFeeUtil.java
new file mode 100644
index 0000000..195ed57
--- /dev/null
+++ b/src/main/java/com/nq/utils/TradeFeeUtil.java
@@ -0,0 +1,29 @@
+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);
+    }
+}

--
Gitblit v1.9.3