From fc68aa452e2fd56441128d1d5a4b32f254c6191d Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Sun, 05 Oct 2025 00:45:32 +0800
Subject: [PATCH] 修改地址

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

diff --git a/src/main/java/project/contract/internal/ContractOrderServiceImpl.java b/src/main/java/project/contract/internal/ContractOrderServiceImpl.java
index cc1ce1a..ab32bc6 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 {
@@ -428,8 +429,11 @@
 		if (!StringUtils.isNullOrEmpty(endTime)) {
 			whereSql.append("AND DATE(CREATE_TIME)<=DATE('"+endTime+" 23:59:59') ");
 		}
-
-		whereSql.append("ORDER BY CREATE_TIME DESC LIMIT ?,?");
+		if ("orders".equals(type)) {
+			whereSql.append("ORDER BY CREATE_TIME DESC LIMIT ?,?");
+		} else if ("hisorders".equals(type)) {
+			whereSql.append("ORDER BY CLOSE_TIME DESC LIMIT ?,?");
+		}
 		params.add(page.getFirstElementNumber());
 		params.add(pageSize);
 
@@ -477,8 +481,9 @@
 	}
 
 	public Map<String, Object> bulidOne(ContractOrder order) {
-		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd  hh:mm:ss  a", Locale.ENGLISH);
-		simpleDateFormat.setTimeZone(TimeZone.getTimeZone("America/New_York"));
+//		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd  hh:mm:ss  a", Locale.ENGLISH);
+		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+		simpleDateFormat.setTimeZone(TimeZone.getTimeZone("Europe/Berlin"));
 		DecimalFormat df = new DecimalFormat("#.##");
 		Map<String, Object> map = new HashMap<String, Object>();
 		map.put("order_no", order.getOrder_no());
@@ -542,7 +547,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 +564,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 +593,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