From 9ac7f3d21d5ff7b144a8a20720d781c8f3f450a5 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Fri, 23 Jan 2026 18:09:27 +0800
Subject: [PATCH] 充值转ico

---
 trading-order-admin/src/main/java/com/yami/trading/api/controller/exchange/ApiExchangeApplyOrderController.java |    8 +++++---
 1 files changed, 5 insertions(+), 3 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..5efff87 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
@@ -152,13 +152,15 @@
             PurchaseRecordDto purchaseRecordDto = ConverterUtil.convert(purchaseRecord, PurchaseRecordDto.class);
             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);
+            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, 9));
             return Result.succeed(purchaseRecordDto);
         }

--
Gitblit v1.9.3