From 424ad35dcd1fafb51a0ba77523b11e6871f2858c Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Thu, 06 Jun 2024 11:36:25 +0800 Subject: [PATCH] 购买节点 --- src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java | 86 ++++++++++++++++++++++++------------------ src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java | 3 - src/main/java/cc/mrbird/febs/dapp/chain/ChainEnum.java | 5 +- 3 files changed, 51 insertions(+), 43 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/dapp/chain/ChainEnum.java b/src/main/java/cc/mrbird/febs/dapp/chain/ChainEnum.java index 4818423..bc9e886 100644 --- a/src/main/java/cc/mrbird/febs/dapp/chain/ChainEnum.java +++ b/src/main/java/cc/mrbird/febs/dapp/chain/ChainEnum.java @@ -1,6 +1,5 @@ package cc.mrbird.febs.dapp.chain; -import lombok.Data; import lombok.Getter; /** @@ -14,8 +13,8 @@ * 0x55d398326f99059fF775485246999027B3197955 * 测试链 0x337610d27c682E347C9cD60BD4b3b107C9d34dDd */ - BSC_USDT("BSC", "0xa9B85Fc19f3E330Cd703050fACA2110c7A33fd06", - "0xb97d6046268b76a21c11c4b33357dc8e203542d7c2a7fc40fccf364099b06477", + BSC_USDT("BSC", "0x8Fa07708b106f526934Cedd673f1b8B0941d011f", + "f86ce4c42d4a0220770c7f17e7c30c1943bbbf5c738f24382c06229110d93674", "https://bsc-dataseed1.ninicoin.io", "0x55d398326f99059fF775485246999027B3197955", ""), diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java index abbc930..25ff779 100644 --- a/src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java +++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java @@ -2,29 +2,25 @@ import cc.mrbird.febs.common.contants.AppContants; import cc.mrbird.febs.common.utils.RedisUtils; -import cc.mrbird.febs.common.utils.ShareCodeUtil; import cc.mrbird.febs.dapp.chain.*; -import cc.mrbird.febs.dapp.entity.*; -import cc.mrbird.febs.dapp.mapper.*; -import cc.mrbird.febs.dapp.service.DappMemberService; -import cc.mrbird.febs.dapp.service.DappSystemService; +import cc.mrbird.febs.dapp.entity.DappFundFlowEntity; +import cc.mrbird.febs.dapp.entity.DappMemberEntity; +import cc.mrbird.febs.dapp.entity.DappTransferRecordEntity; +import cc.mrbird.febs.dapp.mapper.DappFundFlowDao; +import cc.mrbird.febs.dapp.mapper.DappMemberDao; +import cc.mrbird.febs.dapp.mapper.DappWalletCoinDao; import cc.mrbird.febs.dapp.utils.OnlineTransferUtil; import cc.mrbird.febs.rabbit.producer.ChainProducer; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson.JSONObject; +import cn.hutool.core.util.ObjectUtil; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.math.BigDecimal; import java.math.BigInteger; import java.math.RoundingMode; -import java.util.HashMap; import java.util.List; -import java.util.Map; @Slf4j @Service @@ -34,6 +30,8 @@ private RedisUtils redisUtils; @Resource private DappFundFlowDao dappFundFlowDao; + @Resource + private DappMemberDao dappMemberDao; @Resource private DappWalletCoinDao dappWalletCoinDao; @Resource @@ -69,39 +67,53 @@ BigDecimal amount = new BigDecimal(tokens.toString()).divide(BigDecimal.TEN.pow(decimals), decimals, RoundingMode.HALF_DOWN); DappFundFlowEntity fundFlow = dappFundFlowDao.selectByFromHash(e.log.getTransactionHash(), null); - if (fundFlow != null && fundFlow.getStatus() != 1) { - return; - } + if(ObjectUtil.isNotEmpty(fundFlow) && 1 == fundFlow.getStatus()){ - if (fundFlow == null) { - List<DappFundFlowEntity> flows = dappFundFlowDao.selectFundFlowListByAddress(e.from, 1); - if (CollUtil.isEmpty(flows)) { - OnlineTransferUtil.addTransferRecord(e.from, e.to, amount, e.log.getTransactionHash(), DappTransferRecordEntity.TRANSFER_SOURCE_FLAG_ONLINE, "USDT"); - log.info("本地无交易:{}", e.log.getTransactionHash()); - return; - } + if(1 == fundFlow.getType()){//认购贡献值 1 + if (fundFlow == null) { + List<DappFundFlowEntity> flows = dappFundFlowDao.selectFundFlowListByAddress(e.from, 1); + if (CollUtil.isEmpty(flows)) { + OnlineTransferUtil.addTransferRecord(e.from, e.to, amount, e.log.getTransactionHash(), DappTransferRecordEntity.TRANSFER_SOURCE_FLAG_ONLINE, "USDT"); + log.info("本地无交易:{}", e.log.getTransactionHash()); + return; + } - for (DappFundFlowEntity flow : flows) { - if (flow.getStatus() == 1) { - if (amount.compareTo(flow.getAmount().multiply(flow.getNewestPrice()).setScale(4, RoundingMode.HALF_UP)) == 0) { - fundFlow = flow; - fundFlow.setFromHash(e.log.getTransactionHash()); - break; + for (DappFundFlowEntity flow : flows) { + if (flow.getStatus() == 1) { + if (amount.compareTo(flow.getAmount().multiply(flow.getNewestPrice()).setScale(4, RoundingMode.HALF_UP)) == 0) { + fundFlow = flow; + fundFlow.setFromHash(e.log.getTransactionHash()); + break; + } + } } } - } - } - if (fundFlow == null) { + if (fundFlow == null) { + return; + } + + fundFlow.setAmount(fundFlow.getAmount().negate()); + // 更改状态为已同步 + fundFlow.setStatus(2); + dappFundFlowDao.updateById(fundFlow); + + chainProducer.sendAchieveTreeMsg(fundFlow.getMemberId()); + + }else if(13 == fundFlow.getType()){//认购节点 13 + fundFlow.setAmount(fundFlow.getAmount().negate()); + // 更改状态为已同步 + fundFlow.setStatus(2); + dappFundFlowDao.updateById(fundFlow); + + Long memberId = fundFlow.getMemberId(); + DappMemberEntity dappMemberEntity = dappMemberDao.selectById(memberId); + dappMemberEntity.setBuyNode(1); + dappMemberDao.updateById(dappMemberEntity); + } + }else{ return; } - - fundFlow.setAmount(fundFlow.getAmount().negate()); - // 更改状态为已同步 - fundFlow.setStatus(2); - dappFundFlowDao.updateById(fundFlow); - - chainProducer.sendAchieveTreeMsg(fundFlow.getMemberId()); } } } 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 471db20..b7ff9b1 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 @@ -364,11 +364,8 @@ return null; } if ("success".equals(transferDto.getFlag())) { - flow.setStatus(2); flow.setFromHash(transferDto.getTxHash()); dappFundFlowDao.updateById(flow); - member.setBuyNode(1); - dappMemberDao.updateById(member); } else { if (flow.getStatus() == 1) { -- Gitblit v1.9.1