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