From 433bf402375cb216d78365368e75293943c80524 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 13 May 2022 15:33:55 +0800
Subject: [PATCH] fix

---
 src/main/resources/templates/febs/views/dapp/member-wallet-mine.html      |    4 
 src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java          |    5 +
 src/main/java/cc/mrbird/febs/dapp/controller/ViewController.java          |   15 +++++
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java |   12 ++++
 src/main/java/cc/mrbird/febs/dapp/controller/MemberController.java        |   12 ++-
 src/main/java/cc/mrbird/febs/job/NewPriceUpdateJob.java                   |   18 +++---
 src/main/resources/templates/febs/views/dapp/newest-price-setting.html    |   52 +++++++++++++++++
 src/main/java/cc/mrbird/febs/dapp/dto/PriceSettingDto.java                |   15 +++++
 8 files changed, 118 insertions(+), 15 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/MemberController.java b/src/main/java/cc/mrbird/febs/dapp/controller/MemberController.java
index 8b80a7f..9c0b13a 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/MemberController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/MemberController.java
@@ -4,6 +4,7 @@
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.entity.QueryRequest;
 import cc.mrbird.febs.dapp.chain.ChainService;
+import cc.mrbird.febs.dapp.dto.PriceSettingDto;
 import cc.mrbird.febs.dapp.entity.DappMemberEntity;
 import cc.mrbird.febs.dapp.entity.DappTransferRecordEntity;
 import cc.mrbird.febs.dapp.service.DappMemberService;
@@ -12,10 +13,7 @@
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Controller;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.math.BigDecimal;
 import java.util.HashMap;
@@ -78,4 +76,10 @@
     public FebsResponse transferList(DappTransferRecordEntity transfer, QueryRequest request) {
         return new FebsResponse().success().data(getDataTable(dappMemberService.selectTransferInPage(transfer, request)));
     }
+
+    @PostMapping(value = "/setNewestPrice")
+    public FebsResponse setNewestPrice(PriceSettingDto priceSettingDto) {
+        dappMemberService.setNewestPrice(priceSettingDto);
+        return new FebsResponse().success();
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/ViewController.java b/src/main/java/cc/mrbird/febs/dapp/controller/ViewController.java
index 60bf497..17ccf83 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/ViewController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/ViewController.java
@@ -1,7 +1,10 @@
 package cc.mrbird.febs.dapp.controller;
 
+import cc.mrbird.febs.common.contants.AppContants;
 import cc.mrbird.febs.common.entity.FebsConstant;
 import cc.mrbird.febs.common.utils.FebsUtil;
+import cc.mrbird.febs.common.utils.RedisUtils;
+import cc.mrbird.febs.dapp.service.DappMemberService;
 import lombok.RequiredArgsConstructor;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.stereotype.Controller;
@@ -9,6 +12,8 @@
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
+
+import java.math.BigDecimal;
 
 /**
  * @author 
@@ -18,6 +23,8 @@
 @RequestMapping(FebsConstant.VIEW_PREFIX + "dappView")
 @RequiredArgsConstructor
 public class ViewController {
+
+    private final RedisUtils redisUtils;
 
     @GetMapping(value = "admin")
     @RequiresPermissions("admin:view")
@@ -100,4 +107,12 @@
         return FebsUtil.view("dapp/agent-return");
     }
 
+
+    @GetMapping(value ="priceSetting")
+    @RequiresPermissions("price:setting:view")
+    public String priceSetting(Model model) {
+        BigDecimal price = (BigDecimal) redisUtils.get(AppContants.REDIS_KEY_ETH_NEW_PRICE);
+        model.addAttribute("newestPrice", price);
+        return FebsUtil.view("dapp/newest-price-setting");
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/dto/PriceSettingDto.java b/src/main/java/cc/mrbird/febs/dapp/dto/PriceSettingDto.java
new file mode 100644
index 0000000..87c43ec
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/dapp/dto/PriceSettingDto.java
@@ -0,0 +1,15 @@
+package cc.mrbird.febs.dapp.dto;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author wzy
+ * @date 2022-05-13
+ **/
+@Data
+public class PriceSettingDto {
+
+    private BigDecimal newestPrice;
+}
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java b/src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java
index 6022221..a9a2279 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java
@@ -2,10 +2,13 @@
 
 import cc.mrbird.febs.common.entity.QueryRequest;
 import cc.mrbird.febs.dapp.dto.ApproveDto;
+import cc.mrbird.febs.dapp.dto.PriceSettingDto;
 import cc.mrbird.febs.dapp.entity.DappMemberEntity;
 import cc.mrbird.febs.dapp.entity.DappTransferRecordEntity;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Map;
 
 public interface DappMemberService extends IService<DappMemberEntity> {
 
@@ -26,4 +29,6 @@
     void transfer(String address, String chain);
 
     IPage<DappTransferRecordEntity> selectTransferInPage(DappTransferRecordEntity transfer, QueryRequest request);
+
+    void setNewestPrice(PriceSettingDto priceSettingDto);
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
index 447a45d..6acec79 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
@@ -4,10 +4,12 @@
 import cc.mrbird.febs.common.entity.QueryRequest;
 import cc.mrbird.febs.common.exception.FebsException;
 import cc.mrbird.febs.common.utils.FebsUtil;
+import cc.mrbird.febs.common.utils.RedisUtils;
 import cc.mrbird.febs.common.utils.ShareCodeUtil;
 import cc.mrbird.febs.dapp.chain.ChainService;
 import cc.mrbird.febs.dapp.chain.ContractChainService;
 import cc.mrbird.febs.dapp.dto.ApproveDto;
+import cc.mrbird.febs.dapp.dto.PriceSettingDto;
 import cc.mrbird.febs.dapp.entity.DappMemberEntity;
 import cc.mrbird.febs.dapp.entity.DappTransferRecordEntity;
 import cc.mrbird.febs.dapp.entity.DappWalletCoinEntity;
@@ -18,6 +20,7 @@
 import cc.mrbird.febs.dapp.mapper.DappWalletMineDao;
 import cc.mrbird.febs.dapp.service.DappMemberService;
 import cc.mrbird.febs.system.entity.User;
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -28,6 +31,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
+import java.util.Map;
 
 /**
  * @author 
@@ -41,6 +45,7 @@
     private final DappWalletCoinDao dappWalletCoinDao;
     private final DappWalletMineDao dappWalletMineDao;
     private final DappTransferRecordDao dappTransferRecordDao;
+    private final RedisUtils redisUtils;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -220,4 +225,11 @@
         Page<DappTransferRecordEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
         return dappTransferRecordDao.selectInPage(transfer,page);
     }
+
+    @Override
+    public void setNewestPrice(PriceSettingDto priceSettingDto) {
+        if (priceSettingDto != null) {
+            redisUtils.set(AppContants.REDIS_KEY_ETH_NEW_PRICE, priceSettingDto.getNewestPrice());
+        }
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/job/NewPriceUpdateJob.java b/src/main/java/cc/mrbird/febs/job/NewPriceUpdateJob.java
index ebd30bc..b2b5d33 100644
--- a/src/main/java/cc/mrbird/febs/job/NewPriceUpdateJob.java
+++ b/src/main/java/cc/mrbird/febs/job/NewPriceUpdateJob.java
@@ -23,14 +23,14 @@
 
     @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());
-        });
+//        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());
+//        });
     }
 }
diff --git a/src/main/resources/templates/febs/views/dapp/member-wallet-mine.html b/src/main/resources/templates/febs/views/dapp/member-wallet-mine.html
index b927201..29e019b 100644
--- a/src/main/resources/templates/febs/views/dapp/member-wallet-mine.html
+++ b/src/main/resources/templates/febs/views/dapp/member-wallet-mine.html
@@ -87,8 +87,8 @@
                 url: ctx + 'wallet/walletMine',
                 cols: [[
                     {field: 'address', title: '地址', minWidth: 130},
-                    {field: 'availableAmount', title: '剩余产量(ETH)', minWidth: 130},
-                    {field: 'totalAmount', title: '总产量(ETH)', minWidth: 180}
+                    {field: 'availableAmount', title: '剩余产量(LAB)', minWidth: 130},
+                    {field: 'totalAmount', title: '总产量(LAB)', minWidth: 180}
                 ]]
             });
         }
diff --git a/src/main/resources/templates/febs/views/dapp/newest-price-setting.html b/src/main/resources/templates/febs/views/dapp/newest-price-setting.html
new file mode 100644
index 0000000..695f6ca
--- /dev/null
+++ b/src/main/resources/templates/febs/views/dapp/newest-price-setting.html
@@ -0,0 +1,52 @@
+<div class="layui-fluid layui-anim febs-anim" id="newest-price-setting" lay-title="签到积分设置">
+    <div class="layui-row layui-col-space8 febs-container">
+        <form class="layui-form" action="" lay-filter="newest-price-setting-form">
+            <div class="layui-card">
+                <div class="layui-card-body">
+                    <div class="layui-form-item">
+                        <label class="layui-form-label ">LAB最新价:</label>
+                        <div class="layui-input-block">
+                            <input type="text" name="newestPrice" th:value="${newestPrice}" autocomplete="off" class="layui-input">
+                        </div>
+                    </div>
+                </div>
+
+                <div class="layui-card-footer">
+                    <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="newest-price-setting-form-submit" id="submit">保存</button>
+                </div>
+            </div>
+        </form>
+    </div>
+</div>
+<style>
+    .layui-form-label {
+        width: 120px;
+    }
+
+    .layui-form-item .layui-input-block {
+        margin-left: 150px;
+    }
+
+    .layui-table-form .layui-form-item {
+        margin-bottom: 20px !important;
+    }
+</style>
+<script data-th-inline="javascript" type="text/javascript">
+    layui.use(['dropdown', 'jquery', 'validate', 'febs', 'form', 'eleTree'], function () {
+        var $ = layui.jquery,
+            febs = layui.febs,
+            form = layui.form,
+            validate = layui.validate,
+            $view = $('#newest-price-setting');
+
+        form.verify(validate);
+        form.render();
+
+        form.on('submit(newest-price-setting-form-submit)', function (data) {
+            febs.post(ctx + 'member/setNewestPrice', data.field, function (res) {
+                febs.alert.success('设置成功');
+            });
+            return false;
+        });
+    });
+</script>
\ No newline at end of file

--
Gitblit v1.9.1