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