From e7cfd6e115dde2d7aadbdb6baeaeba7f948789d5 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Sun, 28 Aug 2022 20:07:30 +0800
Subject: [PATCH] fix
---
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
index 76aa551..414db76 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
@@ -171,13 +171,22 @@
public BigDecimal calPrice(PriceDto priceDto) {
String priceStr = redisUtils.getString(AppContants.REDIS_KEY_TFC_NEW_PRICE);
- return priceDto.getAmount().multiply(new BigDecimal("0.1")).multiply(new BigDecimal(priceStr));
+ BigDecimal amount = priceDto.getAmount();
+ if (priceDto.getAmount() == null) {
+ amount = BigDecimal.ZERO;
+ }
+ return amount.multiply(new BigDecimal("0.1")).divide(new BigDecimal(priceStr), 2, RoundingMode.HALF_UP);
}
@Override
public void withdraw(WithdrawDto withdrawDto) {
DappMemberEntity member = LoginUserUtil.getAppUser();
+ DappWalletCoinEntity walletCoin = dappWalletCoinDao.selectByMemberId(member.getId());
+ if (walletCoin.getAvailableAmount().compareTo(withdrawDto.getAmount()) < 0) {
+ throw new FebsException("Balance Not Enough");
+ }
+
updateWalletCoinWithLock(withdrawDto.getAmount().negate(), member.getId());
updateWalletMineWithLock(withdrawDto.getFee().negate(), member.getId());
--
Gitblit v1.9.1