src/main/java/cc/mrbird/febs/tree/MatrixTree.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/cc/mrbird/febs/tree/MemberNode.java | ●●●●● patch | view | raw | blame | history | |
src/test/java/cc/mrbird/febs/ChainTest.java | ●●●●● patch | view | raw | blame | history |
src/main/java/cc/mrbird/febs/tree/MatrixTree.java
New file @@ -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); } } src/main/java/cc/mrbird/febs/tree/MemberNode.java
New file @@ -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; } 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()); } }