From 69d51d9510c284c52b8e330ef3ff800a35ed6aac Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Thu, 19 Jun 2025 19:29:14 +0800
Subject: [PATCH] 1

---
 src/main/java/project/contract/internal/ContractApplyOrderServiceImpl.java |    7 ++++++-
 src/main/java/project/project/web/api/ContractApplyOrderController.java    |   10 +++++-----
 src/main/java/project/project/web/api/ContractOrderController.java         |    3 ++-
 3 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/src/main/java/project/contract/internal/ContractApplyOrderServiceImpl.java b/src/main/java/project/contract/internal/ContractApplyOrderServiceImpl.java
index 919c1b0..9311024 100644
--- a/src/main/java/project/contract/internal/ContractApplyOrderServiceImpl.java
+++ b/src/main/java/project/contract/internal/ContractApplyOrderServiceImpl.java
@@ -1,5 +1,7 @@
 package project.contract.internal;
 
+import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
@@ -194,7 +196,10 @@
 		} else if (leverRate == 200) {
 			feeRate = 0.30;   // 30%手续费
 		}
-		return totalCapital * feeRate; // 根据总资金计算手续费
+		BigDecimal bd = new BigDecimal(Double.toString(totalCapital * feeRate));
+		bd = bd.setScale(3, RoundingMode.DOWN);
+		System.out.println();
+		return bd.doubleValue();
 	}
 
 	/**
diff --git a/src/main/java/project/project/web/api/ContractApplyOrderController.java b/src/main/java/project/project/web/api/ContractApplyOrderController.java
index f88a11d..e8e4b15 100644
--- a/src/main/java/project/project/web/api/ContractApplyOrderController.java
+++ b/src/main/java/project/project/web/api/ContractApplyOrderController.java
@@ -224,9 +224,6 @@
 		String price_type = request.getParameter("price_type");
 
 
-		//只有航天这一套需要这样子,部署其他的时候吧这个注释
-		amount = Double.toString(Double.valueOf(amount) / Double.valueOf(lever_rate));
-
 		ResultObject resultObject = new ResultObject();
 		resultObject = this.readSecurityContextFromSession(resultObject);
 		if (!"0".equals(resultObject.getCode())) {
@@ -271,7 +268,9 @@
 				throw new BusinessException(error);
 			}
 			
-			double amount_double = Double.valueOf(request.getParameter("amount")).doubleValue();
+//			double amount_double = Double.valueOf(request.getParameter("amount")).doubleValue();
+			//只有航天这一套需要这样子,部署其他的时候吧这个注释
+			double amount_double = Double.valueOf(amount) / Double.valueOf(lever_rate);
 			double lever_rate_double = Double.valueOf(lever_rate).doubleValue();
 			double price_double = Double.valueOf(request.getParameter("price")).doubleValue();
 			double stop_price_profit_double = Double.valueOf(stop_price_profit).doubleValue();
@@ -292,7 +291,8 @@
 //			if (amount_double > contract_open_limit_max) {
 //				throw new BusinessException("开仓金额不得大于开仓最大限额");
 //			}
-
+			int amountInt = (int) amount_double;
+			amount_double = amountInt;
 			ContractApplyOrder order = new ContractApplyOrder();
 			order.setPartyId(partyId);
 			order.setSymbol(symbol);
diff --git a/src/main/java/project/project/web/api/ContractOrderController.java b/src/main/java/project/project/web/api/ContractOrderController.java
index 074e8fa..bfdd291 100644
--- a/src/main/java/project/project/web/api/ContractOrderController.java
+++ b/src/main/java/project/project/web/api/ContractOrderController.java
@@ -79,7 +79,8 @@
 		} catch (BusinessException e) {
 			resultObject.setCode("1");
 			resultObject.setMsg(e.getMessage());
-		} catch (Throwable t) {
+		} catch (Exception t) {
+			t.printStackTrace();
 			resultObject.setCode("1");
 			resultObject.setMsg("程序错误");
 			logger.error("error:", t);

--
Gitblit v1.9.3