From 566a1b9fda0276e2cc4a35f7ba322c0e599a2c84 Mon Sep 17 00:00:00 2001
From: peter <14100000001@qq.com>
Date: Wed, 26 Nov 2025 16:03:05 +0800
Subject: [PATCH] 修改

---
 src/main/java/com/nq/service/impl/UserServiceImpl.java |   22 +++++++++++++++++++---
 1 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/nq/service/impl/UserServiceImpl.java b/src/main/java/com/nq/service/impl/UserServiceImpl.java
index 64b4d6c..9e2f001 100644
--- a/src/main/java/com/nq/service/impl/UserServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserServiceImpl.java
@@ -1820,13 +1820,27 @@
 //        BigDecimal userAllAmt = user.getUserAmt();
         BigDecimal userAllAmt = user.getEnableAmt();
         userAllAmt = userAllAmt.add(allProfitAndLose);
-        userInfoVO.setUserAmt(userAllAmt);
+
 
         userInfoVO.setEnableIndexAmt(user.getEnableIndexAmt());
         userInfoVO.setEnaleWithdrawAmt(user.getEnaleWithdrawAmt());
         userInfoVO.setHkAmt(user.getHkAmt());
 
         BigDecimal historyProfitLoss = new BigDecimal(0);
+        BigDecimal buyAmtAutual = new BigDecimal(0);
+        List<UserPosition> userPositionscc = this.userPositionMapper.findMyPositionByCodeAndSpell(user.getId(), "", "", 0);
+
+        if (userPositionscc.size() > 0) {
+            for (UserPosition position : userPositionscc) {
+                buyAmtAutual = buyAmtAutual.add(position.getBuyOrderPrice()
+                        .multiply(new BigDecimal(position.getOrderNum()))
+                        .divide(new BigDecimal(position.getOrderLever()), 2, RoundingMode.HALF_UP));
+            }
+        }
+        userInfoVO.setBuyAmtAutual(buyAmtAutual);
+        userAllAmt = userAllAmt.add(buyAmtAutual);
+        userInfoVO.setUserAmt(userAllAmt);
+
         List<UserPosition> userPositions = this.userPositionMapper.findMyPositionByCodeAndSpell(user.getId(), "", "", 1);
 
         if (userPositions.size() > 0) {
@@ -1916,7 +1930,8 @@
         if (position.getSellOrderId() != null) {
 
             BigDecimal subPrice = position.getSellOrderPrice().subtract(position.getBuyOrderPrice());
-            profitAndLose = subPrice.multiply(new BigDecimal(position.getOrderNum().intValue())).multiply(new BigDecimal(position.getOrderLever())).setScale(2,4);
+//            profitAndLose = subPrice.multiply(new BigDecimal(position.getOrderNum().intValue())).multiply(new BigDecimal(position.getOrderLever())).setScale(2,4);
+            profitAndLose = subPrice.multiply(new BigDecimal(position.getOrderNum().intValue())).setScale(2,4);
             if ("买跌".equals(position.getOrderDirection())) {
                 profitAndLose = profitAndLose.negate();
             }
@@ -1937,7 +1952,8 @@
             }
 
             BigDecimal subPrice = (new BigDecimal(nowPrice)).subtract(position.getBuyOrderPrice());
-            profitAndLose = subPrice.multiply(new BigDecimal(position.getOrderNum().intValue())).multiply(new BigDecimal(position.getOrderLever())).setScale(2,4);
+//            profitAndLose = subPrice.multiply(new BigDecimal(position.getOrderNum().intValue())).multiply(new BigDecimal(position.getOrderLever())).setScale(2,4);
+            profitAndLose = subPrice.multiply(new BigDecimal(position.getOrderNum().intValue())).setScale(2,4);
             if ("买跌".equals(position.getOrderDirection())) {
                 profitAndLose = profitAndLose.negate();
             }

--
Gitblit v1.9.3