1
zj
2026-03-01 a3fad01004f2a3de679222394a30d3fda46cbe80
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());