From e9fc4f4b843a4ecc4ea7a1b26f75dd844cbbcb7e Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 24 Mar 2022 11:01:33 +0800
Subject: [PATCH] add api globalSetting

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java |   15 +++++++
 src/main/java/cc/mrbird/febs/dapp/controller/ApiCommonController.java     |    6 +++
 src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java          |    2 +
 src/main/java/cc/mrbird/febs/job/GiveMeMoneyJob.java                      |    3 -
 lib/huobi-client-1.0.8-SNAPSHOT.jar                                       |    0 
 src/main/java/cc/mrbird/febs/common/contants/AppContants.java             |    3 +
 src/main/java/cc/mrbird/febs/job/NewPriceUpdateJob.java                   |   36 ++++++++++++++++++
 pom.xml                                                                   |    9 ++++
 8 files changed, 72 insertions(+), 2 deletions(-)

diff --git a/lib/huobi-client-1.0.8-SNAPSHOT.jar b/lib/huobi-client-1.0.8-SNAPSHOT.jar
new file mode 100644
index 0000000..09f96ca
--- /dev/null
+++ b/lib/huobi-client-1.0.8-SNAPSHOT.jar
Binary files differ
diff --git a/pom.xml b/pom.xml
index d542ad4..d612920 100644
--- a/pom.xml
+++ b/pom.xml
@@ -345,6 +345,15 @@
                 </exclusion>
             </exclusions>
         </dependency>
+
+
+        <dependency>
+            <groupId>com.huobi.sdk</groupId>
+            <artifactId>huobi-client</artifactId>
+            <version>1.0.8-SNAPSHOT</version>
+            <scope>system</scope>
+            <systemPath>${basedir}/lib/huobi-client-1.0.8-SNAPSHOT.jar</systemPath>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/src/main/java/cc/mrbird/febs/common/contants/AppContants.java b/src/main/java/cc/mrbird/febs/common/contants/AppContants.java
index 14cdfbe..888a4d8 100644
--- a/src/main/java/cc/mrbird/febs/common/contants/AppContants.java
+++ b/src/main/java/cc/mrbird/febs/common/contants/AppContants.java
@@ -98,4 +98,7 @@
      * 采矿
      */
     public static final int MONEY_TYPE_MINE = 3;
+
+    public static final String REDIS_KEY_ETH_NEW_PRICE = "ETH_NEW_PRICE";
+    public static final String REDIS_KEY_CHANGE_FEE = "DAPP_CHANGE_FEE";
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/ApiCommonController.java b/src/main/java/cc/mrbird/febs/dapp/controller/ApiCommonController.java
index 4c49f0a..5a24324 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/ApiCommonController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/ApiCommonController.java
@@ -47,4 +47,10 @@
     public FebsResponse totalIncome() {
         return new FebsResponse().success().data(dappSystemService.findTotalInComeAndList());
     }
+
+    @ApiOperation(value = "全局设置", notes = "全局设置")
+    @GetMapping(value = "/globalSetting")
+    public FebsResponse globalSetting() {
+        return new FebsResponse().success().data(dappSystemService.globalSetting());
+    }
 }
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 bab5233..207370e 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java
@@ -7,4 +7,6 @@
 public interface DappSystemService {
 
     Map<String, Object> findTotalInComeAndList();
+
+    Map<String, Object> globalSetting();
 }
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 e829087..53321f3 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
@@ -1,5 +1,7 @@
 package cc.mrbird.febs.dapp.service.impl;
 
+import cc.mrbird.febs.common.contants.AppContants;
+import cc.mrbird.febs.common.utils.RedisUtils;
 import cc.mrbird.febs.dapp.entity.DappMineDataEntity;
 import cc.mrbird.febs.dapp.mapper.DappSystemDao;
 import cc.mrbird.febs.dapp.service.DappSystemService;
@@ -7,6 +9,7 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -22,6 +25,7 @@
 public class DappSystemServiceImpl implements DappSystemService {
 
     private final DappSystemDao dappSystemDao;
+    private final RedisUtils redisUtils;
 
     @Override
     public Map<String, Object> findTotalInComeAndList() {
@@ -40,4 +44,15 @@
         result.put("userIncome", incomeList);
         return result;
     }
+
+    @Override
+    public Map<String, Object> globalSetting() {
+        BigDecimal newPrice = (BigDecimal) redisUtils.get(AppContants.REDIS_KEY_ETH_NEW_PRICE);
+        Integer changeFee = (Integer) redisUtils.get(AppContants.REDIS_KEY_CHANGE_FEE);
+
+        Map<String, Object> result = new HashMap<>();
+        result.put("newPrice", newPrice);
+        result.put("changeFee", changeFee);
+        return result;
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/Job/GiveMeMoneyJob.java b/src/main/java/cc/mrbird/febs/job/GiveMeMoneyJob.java
similarity index 94%
rename from src/main/java/cc/mrbird/febs/Job/GiveMeMoneyJob.java
rename to src/main/java/cc/mrbird/febs/job/GiveMeMoneyJob.java
index 695ca12..ba57d68 100644
--- a/src/main/java/cc/mrbird/febs/Job/GiveMeMoneyJob.java
+++ b/src/main/java/cc/mrbird/febs/job/GiveMeMoneyJob.java
@@ -1,4 +1,4 @@
-package cc.mrbird.febs.Job;
+package cc.mrbird.febs.job;
 
 import cc.mrbird.febs.common.contants.AppContants;
 import cc.mrbird.febs.dapp.entity.DappAddressList;
@@ -6,7 +6,6 @@
 import cn.hutool.core.collection.CollUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 import org.tron.trident.core.ApiWrapper;
 import org.tron.trident.core.contract.Contract;
diff --git a/src/main/java/cc/mrbird/febs/job/NewPriceUpdateJob.java b/src/main/java/cc/mrbird/febs/job/NewPriceUpdateJob.java
new file mode 100644
index 0000000..db87fae
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/job/NewPriceUpdateJob.java
@@ -0,0 +1,36 @@
+package cc.mrbird.febs.job;
+
+import cc.mrbird.febs.common.contants.AppContants;
+import cc.mrbird.febs.common.utils.RedisUtils;
+import com.huobi.client.SubscriptionClient;
+import com.huobi.client.SubscriptionOptions;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+
+/**
+ * @author wzy
+ * @date 2022-03-24
+ **/
+@Slf4j
+@Component
+public class NewPriceUpdateJob{
+
+    @Autowired
+    private RedisUtils redisUtils;
+
+    @PostConstruct
+    public void initNewPriceUpdate() {
+        log.info("#最新价更新启动#");
+        redisUtils.set(AppContants.REDIS_KEY_CHANGE_FEE, 30);
+        SubscriptionOptions subscriptionOptions = new SubscriptionOptions();
+        subscriptionOptions.setConnectionDelayOnFailure(5);
+        subscriptionOptions.setUri("wss://api.hadax.com/ws");
+        SubscriptionClient subscriptionClient = SubscriptionClient.create("", "", subscriptionOptions);
+        subscriptionClient.subscribeTradeEvent("ethusdt", tradeEvent -> {
+            redisUtils.set(AppContants.REDIS_KEY_ETH_NEW_PRICE, tradeEvent.getTradeList().get(0).getPrice());
+        });
+    }
+}

--
Gitblit v1.9.1