fix
Helius
2022-08-28 1ed1b9534966ce9a1e3d8bc93a7a157f604e337d
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,21 @@
    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());
@@ -190,7 +200,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