From 513e5442723f501525bf9ca6210b16561e5d3a2b Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Tue, 24 Mar 2026 11:41:07 +0800
Subject: [PATCH] 1

---
 trading-order-admin/src/main/java/com/yami/trading/api/controller/exchange/ApiExchangeApplyOrderController.java |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/trading-order-admin/src/main/java/com/yami/trading/api/controller/exchange/ApiExchangeApplyOrderController.java b/trading-order-admin/src/main/java/com/yami/trading/api/controller/exchange/ApiExchangeApplyOrderController.java
index 56a58b9..5ab0981 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/api/controller/exchange/ApiExchangeApplyOrderController.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/api/controller/exchange/ApiExchangeApplyOrderController.java
@@ -150,16 +150,29 @@
                 .eq(PurchaseRecord::getUserId, user.getUserId()));
         if(ObjectUtil.isNotEmpty(purchaseRecord)){
             PurchaseRecordDto purchaseRecordDto = ConverterUtil.convert(purchaseRecord, PurchaseRecordDto.class);
+            Item item = itemService.getOne(new LambdaQueryWrapper<Item>().eq(Item::getName, "CLK/USDT"));
+            if (item != null) {
+                WalletExtend walletExtend = walletExtendService.getOne(new LambdaQueryWrapper<>(WalletExtend.class)
+                        .eq(WalletExtend::getWallettype, item.getSymbol())
+                        .eq(WalletExtend::getPartyId, user.getUserId())
+                        .last(" limit 1"));
+                if (walletExtend != null) {
+                    purchaseRecordDto.setPurchaseQuantity(BigDecimal.valueOf(walletExtend.getAmount()).setScale(4,RoundingMode.HALF_UP));
+                }
+            }
+
             purchaseRecordDto.setCurrentPrice(close);
             //持仓市值
-            purchaseRecordDto.setPositionvalue(close.multiply(purchaseRecordDto.getPurchaseQuantity()));
+            purchaseRecordDto.setPositionvalue(close.multiply(purchaseRecordDto.getPurchaseQuantity()).setScale(4, RoundingMode.HALF_UP));
             //均价总额
             BigDecimal currentTotalPrice = purchaseRecordDto.getPurchaseQuantity().multiply(purchaseRecord.getPurchasePrice());
             BigDecimal profit = purchaseRecordDto.getPositionvalue().subtract(currentTotalPrice);
             purchaseRecordDto.setProfit(profit.setScale(4, RoundingMode.HALF_UP));
-            BigDecimal profitPercent = (purchaseRecordDto.getPositionvalue().subtract(currentTotalPrice)).divide(currentTotalPrice,4,RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP);
-            purchaseRecordDto.setProfitPercent(profitPercent);
-            purchaseRecordDto.setLockingTime(LocalDate.of(2026, 2, 9));
+            if (currentTotalPrice.compareTo(BigDecimal.ZERO) != 0) {
+                BigDecimal profitPercent = (purchaseRecordDto.getPositionvalue().subtract(currentTotalPrice)).divide(currentTotalPrice,4,RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP);
+                purchaseRecordDto.setProfitPercent(profitPercent);
+            }
+            purchaseRecordDto.setLockingTime(LocalDate.of(2026, 2, 4));
             return Result.succeed(purchaseRecordDto);
         }
         return Result.succeed(new PurchaseRecordDto());

--
Gitblit v1.9.3