From 7a2f69e4cf9771c9450b009ea5deaaa07e279f11 Mon Sep 17 00:00:00 2001
From: wzy <wzy19931122ai@163.com>
Date: Thu, 28 Jul 2022 22:44:42 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java |   36 +++++++++++++++++-
 src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java  |    8 +++-
 src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java          |    7 +++
 src/main/java/cc/mrbird/febs/dapp/dto/SystemDto.java                      |    3 +
 pom.xml                                                                   |    6 +++
 src/main/java/cc/mrbird/febs/dapp/chain/ChainEnum.java                    |   16 ++++----
 6 files changed, 64 insertions(+), 12 deletions(-)

diff --git a/pom.xml b/pom.xml
index c53be90..56e4132 100644
--- a/pom.xml
+++ b/pom.xml
@@ -296,6 +296,12 @@
         </dependency>
 
         <dependency>
+            <groupId>org.jsoup</groupId>
+            <artifactId>jsoup</artifactId>
+            <version>1.14.3</version>
+        </dependency>
+
+        <dependency>
             <groupId>org.tron.trident</groupId>
             <artifactId>abi</artifactId>
             <version>0.3.0</version>
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 4d31c97..8026901 100644
--- a/src/main/java/cc/mrbird/febs/dapp/chain/ChainEnum.java
+++ b/src/main/java/cc/mrbird/febs/dapp/chain/ChainEnum.java
@@ -53,11 +53,11 @@
     /**
      * 铸池币
      */
-    BSC_TFC_MAKE("BSC", "0xBae24dAa3aB94cfF8114a16A4267D769b3a651F8",
-            "0xc0cabaf5f1fce227e5f1b8a7f83a5dc28972389ffc59559d7852ce8d27c3bec4",
-            "https://bsc-dataseed1.ninicoin.io",
-            "0x46ac4921e58773ca22826df1640672b91b1db2b3",
-            ""),
+//    BSC_TFC_MAKE("BSC", "0xBae24dAa3aB94cfF8114a16A4267D769b3a651F8",
+//            "0xc0cabaf5f1fce227e5f1b8a7f83a5dc28972389ffc59559d7852ce8d27c3bec4",
+//            "https://bsc-dataseed1.ninicoin.io",
+//            "0x46ac4921e58773ca22826df1640672b91b1db2b3",
+//            ""),
 
     /**
      * 技术池
@@ -80,10 +80,10 @@
     /**
      * 卡牌
      */
-    BSC_NFT_SDC("BSC", "0xf6b06a30196aa5e318232a3b61319eab0fd4a3bf",
-                           "9378c6a5becdcade151e98b2ee30239bcb11642e362a068a5bc7667f3d17b1fc",
+    BSC_NFT_SDC("BSC", "0x977A9dDFb965a9A3416Fa72cA7F91c4949c18f25",
+                           "0xefe98e00cd227b6322e892c82fcbd8eadf119c3188b7e574bc624f65405d61bf",
                            "https://bsc-dataseed1.ninicoin.io",
-                           "0x46ac4921e58773ca22826df1640672b91b1db2b3",
+                           "0x03c7D3f141c5F03971604958170E253362e13BE6",
                            "");
 
     private String chain;
diff --git a/src/main/java/cc/mrbird/febs/dapp/dto/SystemDto.java b/src/main/java/cc/mrbird/febs/dapp/dto/SystemDto.java
index 078760e..6545a98 100644
--- a/src/main/java/cc/mrbird/febs/dapp/dto/SystemDto.java
+++ b/src/main/java/cc/mrbird/febs/dapp/dto/SystemDto.java
@@ -34,4 +34,7 @@
 
     @ApiModelProperty(value = "滑点(%)")
     private BigDecimal feeRatio;
+
+    @ApiModelProperty(value = "买入滑点(%)")
+    private BigDecimal buyFeeRatio;
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java b/src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java
index 56d017c..33731b8 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java
@@ -22,6 +22,13 @@
     void tradeProfitDistribute(Long id);
 
     /**
+     * nft滑点
+     *
+     * @param id
+     */
+    void tradeNftProfitDistribute(Long id);
+
+    /**
      * 挖矿
      */
     void mining();
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 6fe8687..955211f 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
@@ -142,7 +142,7 @@
 
             // 如果系统会开启,则使用自动打款
             if (!"start".equals(hasStart)) {
-                OnlineTransferUtil.addTransfer(e.from, fundFlow.getAmount(), 1, 1, ChainEnum.BSC_TFC_MAKE.name(), "BSC", fundFlow.getId().toString());
+                OnlineTransferUtil.addTransfer(e.from, fundFlow.getAmount(), 1, 1, ChainEnum.BSC_TFC.name(), "BSC", fundFlow.getId().toString());
 
                 Map<String, String> map = new HashMap<>();
                 map.put("batchNo", fundFlow.getId().toString());
@@ -151,10 +151,14 @@
                 // 发送转账消息
                 chainProducer.sendOnlineTransfer(JSONObject.toJSONString(map));
 
+                // 发送盲盒消息
+                chainProducer.sendNftBoxMsg(fundFlow.getId());
+
                 fromMember.setMakerType(1);
                 dappMemberService.updateById(fromMember);
             } else {
-                OnlineTransferUtil.addTransfer(e.from, fundFlow.getAmount(), 1, 1, ChainEnum.BSC_TFC_SOURCE.name(), AppContants.SYMBOL_COIN, fundFlow.getId().toString());
+                // 买入收手续费,到账币数量减去手续费
+                OnlineTransferUtil.addTransfer(e.from, fundFlow.getAmount().subtract(fundFlow.getFee()), 1, 1, ChainEnum.BSC_TFC_SOURCE.name(), AppContants.SYMBOL_COIN, fundFlow.getId().toString());
 
                 Map<String, String> map = new HashMap<>();
                 map.put("batchNo", fundFlow.getId().toString());
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
index ff3a42b..95383f1 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
@@ -24,13 +24,20 @@
 import com.alibaba.fastjson.JSONObject;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.jsoup.Jsoup;
+import org.jsoup.nodes.Document;
+import org.jsoup.nodes.Element;
+import org.jsoup.select.Elements;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.io.IOException;
 import java.math.BigDecimal;
 import java.math.BigInteger;
 import java.math.RoundingMode;
+import java.net.MalformedURLException;
+import java.net.URL;
 import java.util.*;
 
 /**
@@ -99,7 +106,7 @@
             Object makePoolObj = redisUtils.get(AppContants.REDIS_KEY_MAKE_POOL_CNT);
             BigDecimal balance;
             if (makePoolObj == null) {
-                balance = ChainService.getInstance(ChainEnum.BSC_TFC_MAKE.name()).balanceOf(ChainEnum.BSC_TFC_MAKE.getAddress());
+                balance = ChainService.getInstance(ChainEnum.BSC_TFC.name()).balanceOf(ChainEnum.BSC_TFC.getAddress());
                 redisUtils.set(AppContants.REDIS_KEY_MAKE_POOL_CNT, balance);
             } else {
                 balance = (BigDecimal) makePoolObj;
@@ -150,7 +157,8 @@
         system.setUsdtTotal(usdtTotal);
         system.setUsdtRemain(usdtRemain);
 
-        system.setFeeRatio(BigDecimal.TEN);
+        system.setFeeRatio(new BigDecimal("7"));
+        system.setBuyFeeRatio(new BigDecimal("3"));
         return system;
     }
 
@@ -260,6 +268,30 @@
     }
 
     @Override
+    public void tradeNftProfitDistribute(Long id) {
+        DappFundFlowEntity fundFlow = dappFundFlowDao.selectById(id);
+
+        BigInteger totalNFT = ChainService.getInstance(ChainEnum.BSC_TFC.name()).totalSupply();
+
+
+
+
+    }
+
+//    public static void main(String[] args) throws IOException {
+//        Document parse = Jsoup.parse(new URL("https://bscscan.com/token/generic-tokenholders2?a=0x03c7d3f141c5f03971604958170e253362e13be6"), 10000000);
+//
+//        Elements tbodys = parse.getElementsByTag("tbody");
+//
+//        Element tbody = tbodys.get(0);
+//
+//        Elements elements = tbody.getElementsMatchingOwnText("^0x.*$");
+//
+//        String text = elements.get(0).text();
+//        System.out.println(1111);
+//    }
+
+    @Override
     public void mining() {
         ContractChainService contract = ChainService.getInstance(ChainEnum.BSC_TFC.name());
         // 发行量

--
Gitblit v1.9.1