From 2666ef454b77ae45641600611335a40411e8452c Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Tue, 16 Jun 2026 16:32:54 +0800
Subject: [PATCH] 1

---
 trading-order-service/src/main/java/com/yami/trading/service/contract/ContractOrderService.java |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/trading-order-service/src/main/java/com/yami/trading/service/contract/ContractOrderService.java b/trading-order-service/src/main/java/com/yami/trading/service/contract/ContractOrderService.java
index cea79b3..2fd1b59 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/contract/ContractOrderService.java
+++ b/trading-order-service/src/main/java/com/yami/trading/service/contract/ContractOrderService.java
@@ -1188,11 +1188,20 @@
             map.put("stop_price_loss", order.getStopPriceLoss());
         }
         map.put("state", order.getState());
-        map.put("amount", order.getDeposit());
-        map.put("amount_open", order.getDeposit());
+        BigDecimal unitAmount = defaultZero(order.getUnitAmount());
+        BigDecimal volume = defaultZero(order.getVolume());
+        BigDecimal volumeOpen = defaultZero(order.getVolumeOpen());
+        map.put("amount_open", volumeOpen.multiply(unitAmount));
+        if (ContractOrder.STATE_CREATED.equals(order.getState())) {
+            // 已平仓:详情展示开仓时的金额与保证金
+            map.put("amount", volumeOpen.multiply(unitAmount));
+            map.put("deposit", order.getDepositOpen());
+        } else {
+            map.put("amount", volume.multiply(unitAmount));
+            map.put("deposit", order.getDeposit());
+        }
         map.put("fee", order.getFee());
         map.put("funding_fee", order.getFundingFee());
-        map.put("deposit", order.getDeposit());
         map.put("deposit_open", order.getDepositOpen());
         map.put("change_ratio", order.getChangeRatio());
         /**

--
Gitblit v1.9.3