From 09760b27383aea4d485fd3d9d5ea0491a88105b5 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Sat, 20 Jul 2024 18:06:35 +0800
Subject: [PATCH] 1

---
 src/main/java/project/project/web/admin/AdminContractOrderController.java |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 deletions(-)

diff --git a/src/main/java/project/project/web/admin/AdminContractOrderController.java b/src/main/java/project/project/web/admin/AdminContractOrderController.java
index a9ce3a7..0be3d94 100644
--- a/src/main/java/project/project/web/admin/AdminContractOrderController.java
+++ b/src/main/java/project/project/web/admin/AdminContractOrderController.java
@@ -1,6 +1,7 @@
 package project.project.web.admin;
 
 import java.math.BigDecimal;
+import java.text.DecimalFormat;
 import java.text.MessageFormat;
 import java.util.Date;
 import java.util.HashMap;
@@ -109,6 +110,19 @@
 					String roleName = map.get("rolename").toString();
 					map.put("roleNameDesc", Constants.ROLE_MAP.containsKey(roleName) ? Constants.ROLE_MAP.get(roleName) : roleName);
 				}
+				double currentPrice = Double.parseDouble(map.get("trade_avg_price").toString());
+
+				// 计算仓位总价
+				double positionValue = Double.parseDouble(map.get("deposit_open").toString()) * Double.parseDouble(map.get("lever_rate").toString());
+
+				// 计算数量
+				double quantity = positionValue / currentPrice;
+
+				// 得到强平价格
+				double liquidationPrice = currentPrice + (110 / quantity);
+				DecimalFormat df = new DecimalFormat("#.#####");
+				String formattedPrice = df.format(liquidationPrice);
+				map.put("qiangPing",formattedPrice);
 			}
 
 			List<Item> items = this.itemService.cacheGetAll();
@@ -200,6 +214,19 @@
 					String roleName = map.get("rolename").toString();
 					map.put("roleNameDesc", Constants.ROLE_MAP.containsKey(roleName) ? Constants.ROLE_MAP.get(roleName) : roleName);
 				}
+				double currentPrice = Double.parseDouble(map.get("trade_avg_price").toString());
+
+				// 计算仓位总价
+				double positionValue = Double.parseDouble(map.get("deposit_open").toString()) * Double.parseDouble(map.get("lever_rate").toString());
+
+				// 计算数量
+				double quantity = positionValue / currentPrice;
+
+				// 得到强平价格
+				double liquidationPrice = currentPrice + (110 / quantity);
+				DecimalFormat df = new DecimalFormat("#.#####");
+				String formattedPrice = df.format(liquidationPrice);
+				map.put("qiangPing",formattedPrice);
 			}
 
 		} catch (BusinessException e) {

--
Gitblit v1.9.3