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