From 76e42bfdf66fbd49e4ed3173236b2f4b352685b2 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Fri, 07 Jun 2024 16:43:11 +0800 Subject: [PATCH] 将监听充值新建一个项目 --- src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java | 72 ++++++++++++++++++++++++++++-------- 1 files changed, 56 insertions(+), 16 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 d37e5ce..7a6f752 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 @@ -1,32 +1,20 @@ package cc.mrbird.febs.dapp.service.impl; -import cc.mrbird.febs.common.configure.i18n.MessageSourceUtils; -import cc.mrbird.febs.common.contants.AppContants; import cc.mrbird.febs.common.entity.QueryRequest; import cc.mrbird.febs.common.exception.FebsException; -import cc.mrbird.febs.common.utils.FebsUtil; import cc.mrbird.febs.common.utils.LoginUserUtil; import cc.mrbird.febs.common.utils.RedisUtils; import cc.mrbird.febs.dapp.chain.ChainEnum; import cc.mrbird.febs.dapp.chain.ChainService; -import cc.mrbird.febs.dapp.chain.ContractChainService; import cc.mrbird.febs.dapp.dto.*; import cc.mrbird.febs.dapp.entity.*; import cc.mrbird.febs.dapp.enumerate.DataDictionaryEnum; import cc.mrbird.febs.dapp.mapper.*; import cc.mrbird.febs.dapp.service.DappWalletService; -import cc.mrbird.febs.dapp.utils.BoxUtil; -import cc.mrbird.febs.dapp.vo.ActiveNftListVo; import cc.mrbird.febs.dapp.vo.WalletInfoVo; import cc.mrbird.febs.rabbit.producer.ChainProducer; -import cn.hutool.core.collection.CollUtil; -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; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; @@ -36,7 +24,7 @@ import java.math.BigDecimal; import java.math.RoundingMode; -import java.util.*; +import java.util.List; /** * @author @@ -79,6 +67,14 @@ walletInfo.setProfit(dappFundFlowDao.selectProfitAmountByMemberId(member.getId())); walletInfo.setTfcBalance(walletMine.getAvailableAmount()); walletInfo.setSafePool(mineData.getSafePool()); + + DataDictionaryCustom buyNodeAmountDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.BUY_NODE_AMOUNT.getType(), + DataDictionaryEnum.BUY_NODE_AMOUNT.getCode() + ); + BigDecimal buyNodeAmount = new BigDecimal(StrUtil.isEmpty(buyNodeAmountDic.getValue()) ? "100" : buyNodeAmountDic.getValue()); + walletInfo.setBuyNodeAmount(buyNodeAmount); + walletInfo.setBuyNode(ObjectUtil.isEmpty(memberInfo.getBuyNode()) ? 0 : memberInfo.getBuyNode()); return walletInfo; } @@ -186,7 +182,7 @@ if (priceDto.getAmount() == null) { amount = BigDecimal.ZERO; } - return amount.multiply(new BigDecimal(serviceFeeDic.getValue()).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_DOWN)).divide(new BigDecimal(symbolPrice.getValue()), 2, RoundingMode.HALF_UP); + return amount.multiply(new BigDecimal(serviceFeeDic.getValue()).divide(BigDecimal.valueOf(100), 8, RoundingMode.HALF_DOWN)).divide(new BigDecimal(symbolPrice.getValue()), 2, RoundingMode.HALF_UP); } @Override @@ -336,4 +332,48 @@ public DappWalletCoinEntity findByMemberId(Long memberId) { return dappWalletCoinDao.selectByMemberId(memberId); } + + @Override + public Long buyNode(BuyNodeDto transferDto) { + DappMemberEntity member = LoginUserUtil.getAppUser(); + + String upgrade = redisUtils.getString("APP_UPGRADE"); + if ("upgrade".equals(upgrade)) { + throw new FebsException("功能升级中"); + } + + member = dappMemberDao.selectById(member.getId()); +// int buyNode = ObjectUtil.isEmpty(member.getBuyNode()) ? 0 : 1; + int buyNode = member.getBuyNode(); + if (1 == buyNode) { + throw new FebsException("Do not repeat purchase"); + } + + if (ObjectUtil.isEmpty(transferDto.getId())) { + DappFundFlowEntity fundFlow = new DappFundFlowEntity( + member.getId(), + transferDto.getAmount().negate(), + 13, + 1, + BigDecimal.ZERO, + transferDto.getTxHash()); + dappFundFlowDao.insert(fundFlow); + return fundFlow.getId(); + } else { + DappFundFlowEntity flow = dappFundFlowDao.selectById(transferDto.getId()); + if(ObjectUtil.isEmpty(flow)){ + return null; + } + if ("success".equals(transferDto.getFlag())) { + flow.setFromHash(transferDto.getTxHash()); + dappFundFlowDao.updateById(flow); + + } else { + if (flow.getStatus() == 1) { + dappFundFlowDao.deleteById(transferDto.getId()); + } + } + } + return null; + } } -- Gitblit v1.9.1