From 4022317de4b4361ad75a7366a7cf2a9ee70ac395 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Fri, 08 Aug 2025 16:14:14 +0800
Subject: [PATCH] 时区修改 购买修复

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

diff --git a/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java b/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
index 70a8209..6224d60 100644
--- a/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
@@ -179,16 +179,16 @@
 
 
                 BigDecimal buyAmt = nowPrice.multiply(new BigDecimal(buyNum)).divide(new BigDecimal(lever));
-                BigDecimal finalBuyAmt = buyAmt;
-                //如果不是墨西哥币需要转换金额
-                if (!stock.getStockType().equals(EStockType.MX.getCode())) {
-                    buyAmt = userAssetsServices.exchangeAmountByRate(stock.getStockType(), buyAmt);
-                }
+                //手续费
                 BigDecimal orderFree = siteSettingBuyFee.multiply(buyAmt);
-
+                BigDecimal needBuyAmt = buyAmt.add(orderFree);
+                //资金校验
+                if (!stock.getStockType().equals(EStockType.MX.getCode())) {
+                    needBuyAmt = userAssetsServices.exchangeAmountByRate(stock.getStockType(), buyAmt);
+                }
                 BigDecimal fundratio = new BigDecimal(user.getFundRatio()).divide(new BigDecimal(100));
                 BigDecimal availableBalance =  fundratio.multiply(userAssets.getAvailableBalance());
-                if (availableBalance.compareTo(buyAmt.add(orderFree)) < 0) {
+                if (availableBalance.compareTo(needBuyAmt) < 0) {
                     return ServerResponse.createByErrorMsg("订单失败,配资不足", request);
                 }
                 UserPosition userPosition = new UserPosition();
@@ -217,7 +217,7 @@
                 }
                 userPosition.setIsLock(Integer.valueOf(0));
                 userPosition.setOrderLever(lever);
-                userPosition.setOrderTotalPrice(finalBuyAmt);
+                userPosition.setOrderTotalPrice(buyAmt);
                 // 手续费
 
                 userPosition.setOrderFee(orderFree);

--
Gitblit v1.9.3