From de9a308fe7c5bb15d6050cafd7e29e8aa850eb2b Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Sun, 28 Aug 2022 02:28:48 +0800
Subject: [PATCH] fix
---
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java | 15 ++++++++++++---
1 files changed, 12 insertions(+), 3 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 8268809..f4b2c0a 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
@@ -22,6 +22,7 @@
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -67,7 +68,7 @@
DappWalletMineEntity walletMine = dappWalletMineDao.selectByMemberId(member.getId());
walletInfo.setDirectCnt(direct.size());
- walletInfo.setInviteId(member.getInviteId());
+ walletInfo.setInviteId(member.getActiveStatus() == 1 ? member.getInviteId() : "-");
walletInfo.setBalance(walletCoin.getAvailableAmount());
walletInfo.setHasBuy(memberInfo.getActiveStatus());
walletInfo.setOutCnt(memberInfo.getOutCnt());
@@ -170,12 +171,17 @@
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));
+ return priceDto.getAmount().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());
@@ -190,7 +196,10 @@
fundFlow.setToHash(hash);
dappFundFlowDao.updateById(fundFlow);
- chainProducer.sendTfcFee(withdrawDto.getFee().toPlainString());
+ Map<String, Object> map = new HashMap<>();
+ map.put("fee", withdrawDto.getFee());
+ map.put("address", ChainEnum.BSC_TFC_FEE.getAddress());
+ chainProducer.sendTfcFee(JSONObject.toJSONString(map));
}
@Override
--
Gitblit v1.9.1