From d243ceca02063628d03c3c637693a704e728ceff Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Mon, 12 Jan 2026 16:39:05 +0800
Subject: [PATCH] 杠杆
---
src/main/java/com/nq/service/impl/UserAssetsServices.java | 21 +++++++++++++--------
1 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/nq/service/impl/UserAssetsServices.java b/src/main/java/com/nq/service/impl/UserAssetsServices.java
index 96bbefc..49ad7ca 100644
--- a/src/main/java/com/nq/service/impl/UserAssetsServices.java
+++ b/src/main/java/com/nq/service/impl/UserAssetsServices.java
@@ -84,20 +84,25 @@
userAssets.setFreezeMoney(userAssets.getFreezeMoney().add(userAssets.getAmountToBeCovered()));
userAssets.setAmountToBeCovered(BigDecimal.ZERO);
userAssets.setHandlingChargeWritten(BigDecimal.ZERO);
- if(null != userPosition){
- userPosition.setAmountToBeCovered(userAssets.getAmountToBeCovered());
- }
}else{
- BigDecimal amountToBeCovered = userAssets.getAmountToBeCovered().subtract(bigAmt);
- userAssets.setFreezeMoney(userAssets.getFreezeMoney().add(bigAmt));
- userAssets.setAmountToBeCovered(amountToBeCovered);
- if(null != userPosition){
- userPosition.setAmountToBeCovered(userAssets.getAmountToBeCovered());
+ BigDecimal subtract = bigAmt.subtract(userAssets.getHandlingChargeWritten());
+ if(subtract.compareTo(BigDecimal.ZERO) >= 0) {
+ BigDecimal decimal = bigAmt.subtract(userAssets.getAmountToBeCovered());
+ decimal = decimal.subtract(userAssets.getHandlingChargeWritten());
+ userAssets.setFreezeMoney(userAssets.getFreezeMoney().add(bigAmt.subtract(userAssets.getHandlingChargeWritten())));
+ userAssets.setHandlingChargeWritten(BigDecimal.ZERO);
+ userAssets.setAmountToBeCovered(decimal.negate());
+ }else{
+ userAssets.setHandlingChargeWritten(userAssets.getHandlingChargeWritten().subtract(bigAmt));
}
}
}else{
userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(bigAmt));
}
+ if(null != userPosition){
+ userPosition.setAmountToBeCovered(userAssets.getAmountToBeCovered().add(userAssets.getHandlingChargeWritten()));
+ userPositionMapper.updateById(userPosition);
+ }
}else{
if(userAssets.getAvailableBalance().compareTo(BigDecimal.ZERO) <= 0){
return ServerResponse.createByErrorMsg("客户账户余额为0");
--
Gitblit v1.9.3