From 41bc089a838c108a945706096a2b874cbcdd8486 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Fri, 30 May 2025 12:01:33 +0800
Subject: [PATCH] 1
---
src/main/java/project/contract/internal/ContractApplyOrderServiceImpl.java | 28 +++++++++++++++++++++++-----
1 files changed, 23 insertions(+), 5 deletions(-)
diff --git a/src/main/java/project/contract/internal/ContractApplyOrderServiceImpl.java b/src/main/java/project/contract/internal/ContractApplyOrderServiceImpl.java
index e167c0a..919c1b0 100644
--- a/src/main/java/project/contract/internal/ContractApplyOrderServiceImpl.java
+++ b/src/main/java/project/contract/internal/ContractApplyOrderServiceImpl.java
@@ -121,17 +121,20 @@
order.setOrder_no(DateUtil.getToday("yyMMddHHmmss") + RandomUtil.getRandomNum(8));
order.setUnit_amount(item.getUnit_amount());
- order.setFee(Arith.mul(item.getUnit_fee(), order.getVolume()));
+
order.setDeposit(Arith.mul(item.getUnit_amount(), order.getVolume()));
+ double fee = calculateFee(order.getLever_rate(), order.getDeposit());
+// order.setFee(Arith.mul(item.getUnit_fee(), order.getVolume()));
+ order.setFee(fee);
if (order.getLever_rate() != null) {
/**
* 加上杠杆
*/
order.setVolume(Arith.mul(order.getVolume(), order.getLever_rate()));
- Syspara syspara = sysparaService.find("perpetual_contracts");
- if(ObjectUtils.isEmpty(syspara)||"0".equals(syspara.getValue())) {
- order.setFee(Arith.mul(order.getFee(), order.getLever_rate()));
- }
+// Syspara syspara = sysparaService.find("perpetual_contracts");
+// if(ObjectUtils.isEmpty(syspara)||"0".equals(syspara.getValue())) {
+// order.setFee(Arith.mul(order.getFee(), order.getLever_rate()));
+// }
}
order.setVolume_open(order.getVolume());
@@ -179,6 +182,21 @@
insertContractApplyOrder(order);
}
+ public double calculateFee(double leverRate, double totalCapital) {
+ double feeRate = 0.0;
+
+ if (leverRate == 25) {
+ feeRate = 0.0375; // 3.75%手续费
+ } else if (leverRate == 50) {
+ feeRate = 0.075; // 7.5%手续费
+ } else if (leverRate == 100) {
+ feeRate = 0.15; // 15%手续费
+ } else if (leverRate == 200) {
+ feeRate = 0.30; // 30%手续费
+ }
+ return totalCapital * feeRate; // 根据总资金计算手续费
+ }
+
/**
* 平仓委托
*/
--
Gitblit v1.9.3