From 14c1946eae86a86f8d1edee6cf3bdaf7572fc966 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Thu, 30 Oct 2025 19:44:38 +0800
Subject: [PATCH] 1
---
trading-order-service/src/main/java/com/yami/trading/service/contract/ContractApplyOrderService.java | 25 ++++++++++++++++++++++---
1 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/trading-order-service/src/main/java/com/yami/trading/service/contract/ContractApplyOrderService.java b/trading-order-service/src/main/java/com/yami/trading/service/contract/ContractApplyOrderService.java
index 7edae99..05305bb 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/contract/ContractApplyOrderService.java
+++ b/trading-order-service/src/main/java/com/yami/trading/service/contract/ContractApplyOrderService.java
@@ -222,8 +222,18 @@
/**
* 加上杠杆
*/
+ //25x手续费3.75% 50x手续费7.5% 100x手续费15% 200x手续费30%
+ if(order.getLeverRate().doubleValue() == 25){
+ item.setUnitFee(new BigDecimal("0.0375"));
+ }else if(order.getLeverRate().doubleValue() == 50){
+ item.setUnitFee(new BigDecimal("0.075"));
+ }else if(order.getLeverRate().doubleValue() == 100){
+ item.setUnitFee(new BigDecimal("0.15"));
+ }else if(order.getLeverRate().doubleValue() == 200){
+ item.setUnitFee(new BigDecimal("0.30"));
+ }
- BigDecimal fee = order.getDeposit().multiply(order.getLeverRate()).multiply(item.getUnitFee());
+ BigDecimal fee = order.getDeposit().multiply(item.getUnitFee());
fee = fee.setScale(4, RoundingMode.DOWN); // 保留两位小数
order.setFee(fee);
}
@@ -231,9 +241,10 @@
Wallet wallet = this.walletService.findByUserId(order.getPartyId());
BigDecimal amountBefore = wallet.getMoney();
BigDecimal totalAmountCost = order.getDeposit().add(order.getFee());
-
+ log.info("amountBefore:"+amountBefore);
+ log.info("totalAmountCost:"+totalAmountCost);
if (amountBefore.compareTo(totalAmountCost) < 0) {
- throw new YamiShopBindException("余额不足");
+ throw new YamiShopBindException("not sufficient funds");
}
//如果是限价单先扣钱
@@ -368,4 +379,12 @@
return list(queryWrapper);
}
+
+ public static void main(String[] args) {
+ System.out.println();
+ if (new BigDecimal("1432.34").compareTo(new BigDecimal("1432.34")) < 0) {
+ throw new YamiShopBindException("not sufficient funds");
+ }
+
+ }
}
--
Gitblit v1.9.3