From d76ed8abc8f31e210f4e93f173f41bc2861870dd Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Tue, 06 Apr 2021 15:37:49 +0800 Subject: [PATCH] 20210406 交易员列表查询 --- src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java | 14 ++++++++++---- 1 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java b/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java index f3979ef..ed5539c 100644 --- a/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java @@ -453,19 +453,21 @@ String walletCode = MemberWalletCoinEnum.WALLETCOINCODE.getValue(); MemberWalletContractEntity walletContract = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(memberId, symbol); BigDecimal availableBalance = walletContract.getAvailableBalance(); + + BigDecimal canReduce = availableBalance; //可用减去盈亏 if(totalProfitOrLess.compareTo(BigDecimal.ZERO) < 0){ - availableBalance = availableBalance.add(totalProfitOrLess); + canReduce = availableBalance.add(totalProfitOrLess); } // 扣币 - BigDecimal availableSubtract = availableBalance.subtract(balance); + BigDecimal availableSubtract = canReduce.subtract(balance); if (availableSubtract.compareTo(BigDecimal.ZERO) < 0) { return Result.fail(MessageSourceUtils.getString("member_service_0007")); } BigDecimal totalBalance = walletContract.getTotalBalance(); BigDecimal totalSubtract = totalBalance.subtract(balance); - walletContract.setAvailableBalance(availableSubtract); + walletContract.setAvailableBalance(availableBalance.subtract(balance)); walletContract.setTotalBalance(totalSubtract); int updateWalletCoinById = memberWalletContractDao.updateById(walletContract); if (updateWalletCoinById < 1) { @@ -552,7 +554,11 @@ if(totalProfitOrLess.compareTo(BigDecimal.ZERO) < 0){ availableBalance = availableBalance.add(totalProfitOrLess); } - availableBalance = availableBalance.setScale(4, BigDecimal.ROUND_DOWN); + if(availableBalance.compareTo(BigDecimal.ZERO) > 0){ + availableBalance = availableBalance.setScale(4, BigDecimal.ROUND_DOWN); + }else{ + availableBalance = BigDecimal.ZERO; + } return Result.ok(availableBalance); } -- Gitblit v1.9.1