From 25e4c6e9e903a6035777b0a6b304df307711ba5d Mon Sep 17 00:00:00 2001
From: peter <14100000001@qq.com>
Date: Sat, 15 Nov 2025 14:22:01 +0800
Subject: [PATCH] 修改购买金额问题

---
 src/main/java/com/nq/service/impl/UserPositionServiceImpl.java |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java b/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
index 319e0f6..2857d0f 100644
--- a/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
@@ -35,6 +35,7 @@
 
 
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.sql.Timestamp;
 import java.time.LocalDateTime;
 import java.time.ZoneId;
@@ -221,8 +222,10 @@
                 userPendingorder.setTargetPrice(preMarketPrice);
                 userPendingorder.setAddTime(new Date());
                 userPendingorder.setStatus(0);
-                userPendingorder.setBuyAmt(buyAmt);
+                userPendingorder.setBuyAmt(preMarketPrice.multiply(new BigDecimal(buyNum)).divide(new BigDecimal(lever)));
                 int ret = userPendingorderMapper.insert(userPendingorder);
+                buyAmt = userPendingorder.getBuyAmt();
+                orderFree = siteSettingBuyFee.multiply(buyAmt);
             }else {
                 userPosition.setPositionType(user.getAccountType());
                 userPosition.setPositionSn(KeyUtils.getUniqueKey());
@@ -235,7 +238,13 @@
                 userPosition.setStockSpell(stock.getStockSpell());
                 userPosition.setBuyOrderId(GeneratePosition.getPositionId());
                 userPosition.setBuyOrderTime(new Date());
-                userPosition.setBuyOrderPrice(nowPrice);
+//                userPosition.setBuyOrderPrice(null == preMarketPrice ? nowPrice : preMarketPrice);
+                if(null == preMarketPrice){
+                    userPosition.setBuyOrderPrice(nowPrice);
+                }else {
+                    userPosition.setBuyOrderPrice(preMarketPrice);
+                    buyAmt = preMarketPrice.multiply(new BigDecimal(buyNum)).divide(new BigDecimal(lever));
+                }
                 userPosition.setOrderDirection((buyType.intValue() == 0) ? "买涨" : "买跌");
                 userPosition.setOrderNum(buyNum);
                 if (stock.getStockPlate() != null) {
@@ -245,7 +254,6 @@
                 userPosition.setOrderLever(lever);
                 userPosition.setOrderTotalPrice(buyAmt);
                 // 手续费
-
                 userPosition.setOrderFee(orderFree);
                 userPosition.setOrderSpread(BigDecimal.ZERO);
                 userPosition.setSpreadRatePrice(BigDecimal.ZERO);

--
Gitblit v1.9.3