From d869f01aa59927d0b4c93c908dfdfb9ca6fb326f Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Fri, 11 Apr 2025 17:36:01 +0800
Subject: [PATCH] 1

---
 src/main/java/project/wallet/internal/AssetServiceImpl.java |   24 +++++++++++++++++++-----
 1 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/src/main/java/project/wallet/internal/AssetServiceImpl.java b/src/main/java/project/wallet/internal/AssetServiceImpl.java
index f23bc8a..a2eca9f 100644
--- a/src/main/java/project/wallet/internal/AssetServiceImpl.java
+++ b/src/main/java/project/wallet/internal/AssetServiceImpl.java
@@ -10,11 +10,14 @@
 import kernel.exception.BusinessException;
 import kernel.util.Arith;
 import kernel.util.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import project.contract.ContractApplyOrder;
 import project.contract.ContractApplyOrderService;
 import project.contract.ContractOrder;
 import project.contract.ContractOrderService;
 import project.contract.ContractRedisKeys;
+import project.contract.job.ContractOrderCalculationServiceImpl;
 import project.data.DataService;
 import project.data.model.Realtime;
 import project.exchange.ExchangeApplyOrder;
@@ -59,7 +62,8 @@
 	private ContractApplyOrderService contractApplyOrderService;
 	
 	private ExchangeApplyOrderService exchangeApplyOrderService;
-	
+	private static final Logger logger = LoggerFactory.getLogger(AssetServiceImpl.class);
+
 	public Map<String, Object> getMoneyAll(Serializable partyId) {
 		Map<String, Object> data = new HashMap<String, Object>();
 		DecimalFormat df2 = new DecimalFormat("#.##");
@@ -160,8 +164,11 @@
 
 		// 币币交易
 		money = money + this.getMoneyexchangeApplyOrders(partyId, realtime_all);
-
-		data.put("total", df2.format(money));
+		if(df2.format(money).equals("-0")){
+			data.put("total", df2.format(0));
+		}else{
+			data.put("total", df2.format(money));
+		}
 		//锁定金额
 		data.put("lock_money", df2.format(wallet.getLock_money()));
 		//冻结金额
@@ -171,7 +178,15 @@
 		data.put("money_all_coin", df2.format(money_all_coin));
 		data.put("money_miner", df2.format(money_miner));
 		data.put("money_finance", df2.format(money_finance));
-		data.put("money_contract", df2.format(Arith.add(money_contract, money_contractApply)));
+		// 计算合约金额
+		double result = Arith.add(money_contract, money_contractApply);
+		logger.info("-----------合约余额"+result);
+		double epsilon = 1.0E-10; // 定义一个很小的误差范围
+		if (Math.abs(result) < epsilon) {
+			data.put("money_contract", df2.format(0.0));
+		}else{
+			data.put("money_contract", df2.format(Arith.add(money_contract, money_contractApply)));
+		}
 		data.put("money_contract_deposit", df2.format(money_contract_deposit));
 		data.put("money_contract_profit", df2.format(money_contract_profit));
 		data.put("money_futures", df2.format(money_futures));
@@ -180,7 +195,6 @@
 
 		return data;
 	}
-
 	public double getMoneyCoin(Serializable partyId, List<Realtime> realtime_all, List<String> list_symbol) {
 		double money_coin = 0;
 

--
Gitblit v1.9.3