From c77eb2eb40a1ba47d61bd0365908ef5540ff083a Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Tue, 23 Aug 2022 18:03:45 +0800 Subject: [PATCH] fix --- src/main/java/cc/mrbird/febs/tree/MemberNode.java | 26 +++++++++++++ src/test/java/cc/mrbird/febs/ChainTest.java | 9 ++++ src/main/java/cc/mrbird/febs/tree/MatrixTree.java | 56 ++++++++++++++++++++++++++++ 3 files changed, 90 insertions(+), 1 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/tree/MatrixTree.java b/src/main/java/cc/mrbird/febs/tree/MatrixTree.java new file mode 100644 index 0000000..259294f --- /dev/null +++ b/src/main/java/cc/mrbird/febs/tree/MatrixTree.java @@ -0,0 +1,56 @@ +package cc.mrbird.febs.tree; + +/** + * @author wzy + * @date 2022-08-23 + **/ +public class MatrixTree { + + // 节点数量 + private int count = 0; + private MemberNode root; + + public MatrixTree() {} + + public MatrixTree(MemberNode root) { + count = 1; + this.root = root; + } + + public int getCount() { + return count; + } + + /** + * 查找整个树下对应节点 + * @param param memberId/address/inviteId + * @return + */ + public MemberNode getNode(Object param) { + return getNode(root, param); + } + + /** + * 查找某节点下的对应节点 + * + * @param node 某节点 + * @param param memberId/address/inviteId + * @return + */ + public MemberNode getNode(MemberNode node, Object param) { + if (node == null) { + return null; + } + + if (node.getMemberId().equals(param) || node.getAddress().equals(param) || node.getInviteId().equals(param)) { + return node; + } + + MemberNode leftNode = getNode(node.getLeft(), param); + if (leftNode != null) { + return leftNode; + } + + return getNode(node.getRight(), param); + } +} diff --git a/src/main/java/cc/mrbird/febs/tree/MemberNode.java b/src/main/java/cc/mrbird/febs/tree/MemberNode.java new file mode 100644 index 0000000..7de050d --- /dev/null +++ b/src/main/java/cc/mrbird/febs/tree/MemberNode.java @@ -0,0 +1,26 @@ +package cc.mrbird.febs.tree; + +import lombok.Data; + +import java.util.List; + +/** + * @author wzy + * @date 2022-08-23 + **/ +@Data +public class MemberNode { + + private Long memberId; + + private String address; + + private String inviteId; + + private MemberNode left; + + private MemberNode right; + + // 矩阵 + private List<MemberNode> matrix; +} diff --git a/src/test/java/cc/mrbird/febs/ChainTest.java b/src/test/java/cc/mrbird/febs/ChainTest.java index 7cd512a..5f58130 100644 --- a/src/test/java/cc/mrbird/febs/ChainTest.java +++ b/src/test/java/cc/mrbird/febs/ChainTest.java @@ -10,6 +10,7 @@ import cc.mrbird.febs.dapp.mapper.DappOnlineTransferDao; import cc.mrbird.febs.dapp.service.DappSystemService; //import cc.mrbird.febs.job.SystemTradeJob; +import cc.mrbird.febs.dapp.service.impl.BscCoinContractEvent; import cc.mrbird.febs.dapp.service.impl.BscUsdtContractEvent; import cc.mrbird.febs.rabbit.producer.ChainProducer; import com.alibaba.fastjson.JSONObject; @@ -134,8 +135,14 @@ @Autowired private BscUsdtContractEvent bscUsdtContractEvent; + @Autowired + private BscCoinContractEvent bscCoinContractEvent; + @Test public void chainListener(){ - ChainService.contractEventListener(new BigInteger("20219055"), new BigInteger("20219055"), bscUsdtContractEvent, ChainEnum.BSC_USDT.name()); +// ChainService.contractEventListener(new BigInteger("20686754"), new BigInteger("20686754"), bscUsdtContractEvent, ChainEnum.BSC_USDT.name()); + + ChainService.contractEventListener(new BigInteger("20687397"), new BigInteger("20687397"), bscCoinContractEvent, ChainEnum.BSC_TFC.name()); + } } -- Gitblit v1.9.1