From 879a75e26e94d766e893e47d65a0b239e04ce94a Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Tue, 10 Jun 2025 16:58:26 +0800
Subject: [PATCH] 后台修改杠杆

---
 src/main/java/project/contract/internal/ContractOrderServiceImpl.java |   22 +++++++++++++++++++++-
 1 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/src/main/java/project/contract/internal/ContractOrderServiceImpl.java b/src/main/java/project/contract/internal/ContractOrderServiceImpl.java
index cc1ce1a..64965b0 100644
--- a/src/main/java/project/contract/internal/ContractOrderServiceImpl.java
+++ b/src/main/java/project/contract/internal/ContractOrderServiceImpl.java
@@ -40,6 +40,7 @@
 import project.wallet.AssetService;
 import project.wallet.Wallet;
 import project.wallet.WalletService;
+import project.web.admin.AdminContractOrderController;
 import util.DateUtil;
 import util.RandomUtil;
 public class ContractOrderServiceImpl implements ContractOrderService {
@@ -542,7 +543,7 @@
 		double totleMoney = wallet.getMoney();
 		profit = Arith.add(profit,totleMoney);
 
-		if (map.get("direction") != null) {
+		if (map.get("direction") != null && map.get("state").equals("submitted")) {
 			String direction = map.get("direction").toString();
 			double liquidationPrice;
 			double deposit =  profit;
@@ -559,6 +560,10 @@
 					double priceDrop = lossPercentage * tradeAvgPrice;
 					liquidationPrice = tradeAvgPrice - priceDrop;
 				}
+			}
+			// 检查 liquidationPrice 是否为有效数字
+			if (Double.isInfinite(liquidationPrice) || Double.isNaN(liquidationPrice)) {
+				liquidationPrice = 0;  // 如果是无效结果,回退为 0
 			}
 			DecimalFormat dfs = new DecimalFormat("#.#####");
 			String formattedPrice = dfs.format(liquidationPrice);
@@ -584,6 +589,21 @@
 		return ApplicationUtil.executeSelect(ContractOrder.class,"WHERE PARTY_ID=? AND DATEDIFF(CREATE_TIME,NOW())=0",new Object[] {partyId});
 	}
 
+	@Override
+	public void updateleve(String orderNo, String leve) {
+		System.out.println("--------order:"+orderNo+"---------leve:"+leve);
+		ContractOrder order = findByOrderNo(orderNo);
+		if (order != null) {
+			System.out.println("bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb");
+			order.setLever_rate(Double.valueOf(leve));
+			this.redisHandler.setSync(ContractRedisKeys.CONTRACT_ORDERNO + orderNo,order);
+			System.out.println("===============================order"+order.toString());
+			System.out.println("ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc");
+			ApplicationUtil.executeUpdate(ContractOrder.class,"WHERE ORDER_NO=?",new Object[] {order});
+			System.out.println("ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd");
+		}
+	}
+
 	public void setWalletService(WalletService walletService) {
 		this.walletService = walletService;
 	}

--
Gitblit v1.9.3