From 361000bc990d6d375f709e032a66b309a242fce5 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Thu, 28 Aug 2025 11:03:08 +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 eb86e84..eb2f2f3 100644
--- a/src/main/java/com/nq/service/impl/UserAssetsServices.java
+++ b/src/main/java/com/nq/service/impl/UserAssetsServices.java
@@ -119,20 +119,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