From 0186e0de25f5c19e97c8c182c52b19058bfcf23c Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Wed, 20 Aug 2025 18:32:12 +0800
Subject: [PATCH] 1

---
 src/main/java/com/nq/service/impl/UserAssetsServices.java |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/nq/service/impl/UserAssetsServices.java b/src/main/java/com/nq/service/impl/UserAssetsServices.java
index 6a5912d..e231b58 100644
--- a/src/main/java/com/nq/service/impl/UserAssetsServices.java
+++ b/src/main/java/com/nq/service/impl/UserAssetsServices.java
@@ -211,9 +211,16 @@
                    userAssets.setAmountToBeCovered(BigDecimal.ZERO);
                    userAssets.setHandlingChargeWritten(BigDecimal.ZERO);
                }else{
-                   BigDecimal amountToBeCovered = userAssets.getAmountToBeCovered().subtract(amount);
-                   userAssets.setFreezeMoney(userAssets.getFreezeMoney().add(amount));
-                   userAssets.setAmountToBeCovered(amountToBeCovered);
+                   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());
+                   }else{
+                       userAssets.setHandlingChargeWritten(userAssets.getHandlingChargeWritten().subtract(amount));
+                   }
                }
            }else{
                userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(amount));

--
Gitblit v1.9.3