From 14c1946eae86a86f8d1edee6cf3bdaf7572fc966 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Thu, 30 Oct 2025 19:44:38 +0800
Subject: [PATCH] 1

---
 trading-order-service/src/main/java/com/yami/trading/service/exchange/impl/ExchangeApplyOrderServiceImpl.java |   32 ++++++++++++++++----------------
 1 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/trading-order-service/src/main/java/com/yami/trading/service/exchange/impl/ExchangeApplyOrderServiceImpl.java b/trading-order-service/src/main/java/com/yami/trading/service/exchange/impl/ExchangeApplyOrderServiceImpl.java
index a987339..359ca84 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/exchange/impl/ExchangeApplyOrderServiceImpl.java
+++ b/trading-order-service/src/main/java/com/yami/trading/service/exchange/impl/ExchangeApplyOrderServiceImpl.java
@@ -262,17 +262,17 @@
             toDayProfitLoss = (marketValue - (openPrice * volume));
             profitLoss = marketValue - cost;
             ExchangeSymbolDto exchangeSymbolDto = new ExchangeSymbolDto();
-            exchangeSymbolDto.setVolume(new BigDecimal(volume).setScale(2, RoundingMode.HALF_UP).doubleValue());
-            exchangeSymbolDto.setPositionVolume(new BigDecimal(volume).setScale(2, RoundingMode.HALF_UP).doubleValue());
-            exchangeSymbolDto.setPrice(new BigDecimal(price).setScale(2, RoundingMode.HALF_UP).doubleValue());
+            exchangeSymbolDto.setVolume(new BigDecimal(volume).setScale(2, RoundingMode.DOWN).doubleValue());
+            exchangeSymbolDto.setPositionVolume(new BigDecimal(volume).setScale(2, RoundingMode.DOWN).doubleValue());
+            exchangeSymbolDto.setPrice(new BigDecimal(price).setScale(2, RoundingMode.DOWN).doubleValue());
             exchangeSymbolDto.setName(name);
             exchangeSymbolDto.setSymbol(key);
-            exchangeSymbolDto.setToDayProfitLoss(new BigDecimal(toDayProfitLoss).setScale(2, RoundingMode.HALF_UP).doubleValue());
+            exchangeSymbolDto.setToDayProfitLoss(new BigDecimal(toDayProfitLoss).setScale(2, RoundingMode.DOWN).doubleValue());
             exchangeSymbolDto.setToDayProfitLossPercentage(calculateProfitPercentage(openPrice, currentPrice));
-            exchangeSymbolDto.setCurrentPrice(new BigDecimal(currentPrice).setScale(2, RoundingMode.HALF_UP).doubleValue());
-            exchangeSymbolDto.setOpenPrice(new BigDecimal(openPrice).setScale(2, RoundingMode.HALF_UP).doubleValue());
-            exchangeSymbolDto.setMarketValue(new BigDecimal(marketValue).setScale(2, RoundingMode.HALF_UP).doubleValue());
-            exchangeSymbolDto.setProfitLoss(new BigDecimal(profitLoss).setScale(2, RoundingMode.HALF_UP).doubleValue());
+            exchangeSymbolDto.setCurrentPrice(new BigDecimal(currentPrice).setScale(2, RoundingMode.DOWN).doubleValue());
+            exchangeSymbolDto.setOpenPrice(new BigDecimal(openPrice).setScale(2, RoundingMode.DOWN).doubleValue());
+            exchangeSymbolDto.setMarketValue(new BigDecimal(marketValue).setScale(2, RoundingMode.DOWN).doubleValue());
+            exchangeSymbolDto.setProfitLoss(new BigDecimal(profitLoss).setScale(2, RoundingMode.DOWN).doubleValue());
             exchangeSymbolDto.setProfitLossPercentage(calculateProfitPercentage(price, currentPrice));
             result.add(exchangeSymbolDto);
         }
@@ -284,7 +284,7 @@
         double profit = currentPrice - buyPrice;
         double profitPercentage = (profit / buyPrice) * 100;
         System.out.println(profitPercentage);
-        return new BigDecimal(profitPercentage).setScale(2, RoundingMode.HALF_UP).doubleValue();
+        return new BigDecimal(profitPercentage).setScale(2, RoundingMode.DOWN).doubleValue();
     }
 
     public static void test() {
@@ -315,15 +315,15 @@
 
         }
         SumEtfDto sumEtfDto = new SumEtfDto();
-        sumEtfDto.setProfitLoss(new BigDecimal(profitLoss).setScale(2, RoundingMode.HALF_UP).doubleValue());
-        sumEtfDto.setSumPrice(new BigDecimal(sumPrice).setScale(2, RoundingMode.HALF_UP).doubleValue());
-        sumEtfDto.setToDayProfitLoss(new BigDecimal(toDayProfitLoss).setScale(2, RoundingMode.HALF_UP).doubleValue());
+        sumEtfDto.setProfitLoss(new BigDecimal(profitLoss).setScale(2, RoundingMode.DOWN).doubleValue());
+        sumEtfDto.setSumPrice(new BigDecimal(sumPrice).setScale(2, RoundingMode.DOWN).doubleValue());
+        sumEtfDto.setToDayProfitLoss(new BigDecimal(toDayProfitLoss).setScale(2, RoundingMode.DOWN).doubleValue());
         // usdt余额
         Wallet wallet = new Wallet();
         if (!"".equals(userId) && userId != null) {
             wallet = walletService.findByUserId(userId.toString());
         }
-        sumEtfDto.setSumVolume(wallet.getMoney().setScale(2, RoundingMode.HALF_UP).doubleValue());
+        sumEtfDto.setSumVolume(wallet.getMoney().setScale(2, RoundingMode.DOWN).doubleValue());
         return sumEtfDto;
     }
 
@@ -579,12 +579,12 @@
             }
 
             map.put("create_time", DateUtil.formatDate(order.getCreateTime(), DateUtils.DF_yyyyMMddHHmmss));
-            map.put("volume", new BigDecimal(order.getVolume()).setScale(6, RoundingMode.HALF_UP));
+            map.put("volume", new BigDecimal(order.getVolume()).setScale(6, RoundingMode.DOWN));
             // 买的时候total 为volume,卖的时候total = volume*closeTime
             if("open".equalsIgnoreCase(order.getOffset())){
-                map.put("total", new BigDecimal(order.getVolume()).setScale(6, RoundingMode.HALF_UP));
+                map.put("total", new BigDecimal(order.getVolume()).setScale(6, RoundingMode.DOWN));
             }else{
-                map.put("total", new BigDecimal(order.getVolume()*order.getClosePrice()).setScale(2, RoundingMode.HALF_UP));
+                map.put("total", new BigDecimal(order.getVolume()*order.getClosePrice()).setScale(2, RoundingMode.DOWN));
             }
             map.put("offset", order.getOffset());
             map.put("price", order.getPrice());

--
Gitblit v1.9.3