From 4d2d2e5e9e296ec6cb15a01ab35f18cca00ce9ec Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Tue, 13 Jan 2026 16:04:24 +0800
Subject: [PATCH] 杠杆
---
src/main/java/com/nq/service/impl/UserPositionServiceImpl.java | 7 +++----
src/main/java/com/nq/service/impl/UserServiceImpl.java | 32 ++++++++++++++++----------------
2 files changed, 19 insertions(+), 20 deletions(-)
diff --git a/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java b/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
index f658a7f..5c9e9d9 100644
--- a/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
@@ -416,17 +416,16 @@
position.setId(null);
position.setPositionSn(KeyUtils.getUniqueKey());
position.setOrderNum(number);
- position.setOrderTotalPrice(position.getBuyOrderPrice().multiply(new BigDecimal(number)));
+ position.setOrderTotalPrice(position.getBuyOrderPrice().multiply(new BigDecimal(number)).divide(new BigDecimal(position.getOrderLever()), 5, RoundingMode.HALF_UP));
position.setBuyOrderId(GeneratePosition.getPositionId());
//修改拆分订单手续费
BigDecimal BuyFee = new BigDecimal(iStockConfigServices.queryByKey(EConfigKey.BUY_HANDLING_CHARGE.getCode()).getCValue());
- BigDecimal buyPrice = position.getBuyOrderPrice().multiply(new BigDecimal(position.getOrderNum()));
- BigDecimal xsPrice = buyPrice.multiply(BuyFee);
+ BigDecimal xsPrice = position.getOrderTotalPrice().multiply(BuyFee);
position.setOrderFee(xsPrice);
//修改原订单
userPosition.setOrderNum(userPosition.getOrderNum()-number);
- userPosition.setOrderTotalPrice(userPosition.getBuyOrderPrice().multiply(new BigDecimal(userPosition.getOrderNum())));
+ userPosition.setOrderTotalPrice(userPosition.getBuyOrderPrice().multiply(new BigDecimal(userPosition.getOrderNum())).divide(new BigDecimal(position.getOrderLever()), 5, RoundingMode.HALF_UP));
userPosition.setOrderFee(userPosition.getOrderFee().subtract(position.getOrderFee()));
userPositionMapper.insert(position);
userPositionMapper.updateById(userPosition);
diff --git a/src/main/java/com/nq/service/impl/UserServiceImpl.java b/src/main/java/com/nq/service/impl/UserServiceImpl.java
index 4ec9f39..81243c9 100644
--- a/src/main/java/com/nq/service/impl/UserServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserServiceImpl.java
@@ -478,7 +478,7 @@
public ServerResponse getMoney(Integer userId) {
List<UserAssets> userAssetsList = userAssetsServices.assetsByUserId(userId);
List<RUserAssets> rUserAssetsList = new ArrayList<>();
- int s= 4;
+ int s= 2;
/**
* 浮动盈亏
* */
@@ -507,7 +507,7 @@
RUserAssets rUserAssets = new RUserAssets();
UserAssets userAssets = userAssetsList.get(i);
// 浮动盈亏
- String profitAndLose = getProfitAndLose(userId).toString();
+ String profitAndLose = getProfitAndLose(userId).setScale(s,RoundingMode.UP).toString();
BigDecimal amt = userAssets.getAvailableBalance();
BigDecimal totalAssets = userAssets.getAvailableBalance().add(userAssets.getFreezeMoney()).add(new BigDecimal(profitAndLose)).subtract(userAssets.getHandlingChargeWritten());
// BigDecimal totalAssets = userAssets.getAvailableBalance().add(userAssets.getFreezeMoney()).subtract(userAssets.getCumulativeProfitAndLoss()).add(profitAndLose);
@@ -515,16 +515,16 @@
BigDecimal hMoney = userAssets.getHandlingCharge();
BigDecimal hProfitAndLose = userAssets.getCumulativeProfitAndLoss();
rUserAssets.setId(userAssets.getId());
- rUserAssets.setTotalMoney((totalAssets.toString()));
+ rUserAssets.setTotalMoney((totalAssets.setScale(s,RoundingMode.UP).toString()));
rUserAssets.setAccectType(userAssets.getAccectType());
- rUserAssets.setAvailableBalance(amt.toString());
- rUserAssets.setFreezeMoney(freeMoney.toString());
- rUserAssets.setCumulativeProfitAndLoss(hProfitAndLose.toString());
- rUserAssets.setHandlingCharge(hMoney.toString());
- rUserAssets.setProfitAndLoss(profitAndLose.toString());
+ rUserAssets.setAvailableBalance(amt.setScale(s,RoundingMode.UP).toString());
+ rUserAssets.setFreezeMoney(freeMoney.setScale(s,RoundingMode.UP).toString());
+ rUserAssets.setCumulativeProfitAndLoss(hProfitAndLose.setScale(s,RoundingMode.UP).toString());
+ rUserAssets.setHandlingCharge(hMoney.setScale(s, RoundingMode.UP).toString());
+ rUserAssets.setProfitAndLoss(profitAndLose);
rUserAssets.setIsZf(userAssets.getIsZf());
- rUserAssets.setAmountToBeCovered((userAssets.getAmountToBeCovered().add(userAssets.getHandlingChargeWritten()).toString()));
- rUserAssets.setHandlingChargeWritten(userAssets.getHandlingChargeWritten());
+ rUserAssets.setAmountToBeCovered((userAssets.getAmountToBeCovered().add(userAssets.getHandlingChargeWritten())).setScale(s, RoundingMode.UP).toString());
+ rUserAssets.setHandlingChargeWritten(userAssets.getHandlingChargeWritten().setScale(s, RoundingMode.UP));
BigDecimal rate = rateServices.currencyRate(
EStockType.getEStockTypeByCode(userAssets.getAccectType()),EStockType.JP);
@@ -559,14 +559,14 @@
- rUserAssets.setAvailableBalanceUSD(availableBalanceUSD.setScale(s,BigDecimal.ROUND_UP).toString());
- rUserAssets.setFreezeMoneyUSD(freezeMoneyUSD.setScale(s,BigDecimal.ROUND_UP).toString());
- rUserAssets.setTotalMoneyUSD(totleMoneyUSD.setScale(s,BigDecimal.ROUND_UP).toString());
+ rUserAssets.setAvailableBalanceUSD(availableBalanceUSD.setScale(s,RoundingMode.UP).toString());
+ rUserAssets.setFreezeMoneyUSD(freezeMoneyUSD.setScale(s,RoundingMode.UP).toString());
+ rUserAssets.setTotalMoneyUSD(totleMoneyUSD.setScale(s,RoundingMode.UP).toString());
rUserAssets.setSymbol(EStockType.getEStockTypeByCode(userAssets.getAccectType()).getSymbol1());
rUserAssets.setSymbolCode(EStockType.getEStockTypeByCode(userAssets.getAccectType()).getSymbol());
- rUserAssets.setCumulativeProfitAndLossUSD(cumulativeProfitAndLossUSD.setScale(s,BigDecimal.ROUND_UP).toString());
- rUserAssets.setHandlingChargeUSD(handlingChargeUSD.setScale(s,BigDecimal.ROUND_UP).toString());
- rUserAssets.setProfitAndLossUSD(profitAndLossUSD.setScale(s,BigDecimal.ROUND_UP).toString());
+ rUserAssets.setCumulativeProfitAndLossUSD(cumulativeProfitAndLossUSD.setScale(s,RoundingMode.UP).toString());
+ rUserAssets.setHandlingChargeUSD(handlingChargeUSD.setScale(s,RoundingMode.UP).toString());
+ rUserAssets.setProfitAndLossUSD(profitAndLossUSD.setScale(s,RoundingMode.UP).toString());
rUserAssets.setProfitAndLoss(profitAndLose);
// BigDecimal decimal = new BigDecimal(rUserAssets.getTotalMoney()).add(new BigDecimal(rUserAssets.getProfitAndLoss()));
// rUserAssets.setTotalMoney(decimal.toString());
--
Gitblit v1.9.3