1
zj
2024-10-18 cd8df4afe77d1ea07c87f66714349ae0a699e67e
src/main/java/com/nq/service/impl/UserAssetsServices.java
@@ -163,8 +163,19 @@
       if(Objects.equals(eUserAssets.getCode(), EUserAssets.BUY.getCode())){
            userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(amount));
            userAssets.setFreezeMoney(userAssets.getFreezeMoney().add(amount.negate()));
        }else if(Objects.equals(eUserAssets.getCode(), EUserAssets.CLOSE_POSITION.getCode())){
            userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(amount));
       }else if(Objects.equals(eUserAssets.getCode(), EUserAssets.CLOSE_POSITION.getCode())){
           if(userAssets.getAmountToBeCovered().compareTo(BigDecimal.ZERO) > 0){
               BigDecimal availableBalance = amount.subtract(userAssets.getAmountToBeCovered());
               if(availableBalance.compareTo(BigDecimal.ZERO) > 0){
                   userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(availableBalance));
                   userAssets.setAmountToBeCovered(BigDecimal.ZERO);
               }else{
                   BigDecimal amountToBeCovered = userAssets.getAmountToBeCovered().subtract(amount);
                   userAssets.setAmountToBeCovered(amountToBeCovered);
               }
           }else{
               userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(amount));
           }
           extracted(amount, userAssets);
       }else  if(Objects.equals(eUserAssets.getCode(), EUserAssets.CLOSE_POSITION_RETURN_SECURITY_DEPOSIT.getCode())){
           if(userAssets.getAmountToBeCovered().compareTo(BigDecimal.ZERO) > 0){
@@ -202,7 +213,11 @@
            userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(amount));
        }else if(Objects.equals(eUserAssets.getCode(), EUserAssets.HANDLING_CHARGE.getCode())){
           userAssets.setHandlingCharge(userAssets.getHandlingCharge().add(amount.abs()));
           userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(amount.negate()));
           if(userAssets.getAvailableBalance().subtract(amount.abs()).compareTo(BigDecimal.ZERO) >= 0){
               userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(amount.negate()));
           }else {
               userAssets.setAmountToBeCovered(userAssets.getAmountToBeCovered().add(amount));
           }
           extracted(amount.negate(),userAssets);
       }else if(Objects.equals(eUserAssets.getCode(), EUserAssets.CONSTRAINT_CLOSE_POSITION.getCode())){
           userAssets.setFreezeMoney(userAssets.getFreezeMoney().subtract(amount));