From fec33ad92aa4a92aaa657a6f17339bfd98c5969d Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Tue, 25 Nov 2025 19:01:24 +0800
Subject: [PATCH] 1
---
src/main/java/com/nq/service/impl/UserAssetsServices.java | 22 ++++++++++++++--------
1 files changed, 14 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 0c5746c..7f9c97f 100644
--- a/src/main/java/com/nq/service/impl/UserAssetsServices.java
+++ b/src/main/java/com/nq/service/impl/UserAssetsServices.java
@@ -87,19 +87,24 @@
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){
@@ -214,6 +219,7 @@
BigDecimal subtract = amount.subtract(userAssets.getHandlingChargeWritten());
if(subtract.compareTo(BigDecimal.ZERO) >= 0) {
BigDecimal decimal = amount.subtract(userAssets.getAmountToBeCovered());
+ decimal = decimal.subtract(userAssets.getHandlingChargeWritten());
userAssets.setFreezeMoney(userAssets.getFreezeMoney().add(amount.subtract(userAssets.getHandlingChargeWritten())));
userAssets.setHandlingChargeWritten(BigDecimal.ZERO);
userAssets.setAmountToBeCovered(decimal.negate());
--
Gitblit v1.9.3