From 9b37a59c8130e82ec59c2414965dcf4aa460f0b2 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 31 May 2023 10:33:00 +0800
Subject: [PATCH] twoCoin项目修改

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java |   28 +++++++++++--
 src/main/resources/mapper/dapp/DappAKlineMapper.xml                       |    9 ++++
 src/main/java/cc/mrbird/febs/dapp/mapper/DappAKlineMapper.java            |    2 +
 src/main/java/cc/mrbird/febs/job/BnbTransferJob.java                      |   25 +++++-------
 4 files changed, 44 insertions(+), 20 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/mapper/DappAKlineMapper.java b/src/main/java/cc/mrbird/febs/dapp/mapper/DappAKlineMapper.java
index 88e4378..fbc385a 100644
--- a/src/main/java/cc/mrbird/febs/dapp/mapper/DappAKlineMapper.java
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/DappAKlineMapper.java
@@ -30,4 +30,6 @@
     DappAKlineEntity selectOneHourByType();
 
     List<DappAKlineEntity> selectListByIds(@Param("min")Long id, @Param("max")Long id1);
+
+    DappAKlineEntity selectOneByTypeAsc();
 }
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 42e9e5f..e013699 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
@@ -1664,8 +1664,25 @@
         BigDecimal coinAPrice = coinAUsdt.divide(coinACnt,12,BigDecimal.ROUND_DOWN);
         coinAPriceDic.setValue(coinAPrice.toString());
         dataDictionaryCustomMapper.updateById(coinAPriceDic);
-
-        chainProducer.sendAntKLineMsg(0);
+        /**
+         * 增加K线数据
+         */
+        DappAKlineEntity dappAKlineEntity = new DappAKlineEntity();
+        dappAKlineEntity.setType(0);
+        /**
+         * 获取最新一条小时或者分钟的数据
+         */
+        DappAKlineEntity oldOne = dappAKlineMapper.selectOneByType();
+        if(ObjectUtil.isNotEmpty(oldOne)){
+            dappAKlineEntity.setOpenPrice(oldOne.getClosePrice());
+            dappAKlineEntity.setLowestPrice(oldOne.getOpenPrice());
+        }else{
+            dappAKlineEntity.setOpenPrice(coinAPrice);
+            dappAKlineEntity.setLowestPrice(coinAPrice);
+        }
+        dappAKlineEntity.setHighestPrice(coinAPrice);
+        dappAKlineEntity.setClosePrice(coinAPrice);
+        dappAKlineMapper.insert(dappAKlineEntity);
     }
 
     @Override
@@ -1726,7 +1743,7 @@
          */
         DappAKlineEntity minRecord = dappAKlineMapper.selectOneHourByType();
         if(ObjectUtil.isEmpty(minRecord)){
-            minRecord = dappAKlineMapper.selectOneByType();
+            minRecord = dappAKlineMapper.selectOneByTypeAsc();
         }
         DappAKlineEntity maxRecord = dappAKlineMapper.selectOneByType();
         List<DappAKlineEntity> dappAKlineEntities = dappAKlineMapper.selectListByIds(minRecord.getId(),maxRecord.getId());
@@ -1735,7 +1752,7 @@
         dappAKlineEntity.setType(1);
         if(CollUtil.isNotEmpty(dappAKlineEntities)){
 
-            List<BigDecimal> openPriceList = dappAKlineEntities.stream().map(DappAKlineEntity::getOpenPrice).collect(Collectors.toList());
+            List<BigDecimal> openPriceList = dappAKlineEntities.stream().map(DappAKlineEntity::getClosePrice).collect(Collectors.toList());
             BigDecimal openPrice = openPriceList.stream().min(BigDecimal::compareTo).get();
             dappAKlineEntity.setOpenPrice(openPrice);
             //获取最高价
@@ -1974,10 +1991,11 @@
         DappAKlineEntity oldOne = dappAKlineMapper.selectOneByType();
         if(ObjectUtil.isNotEmpty(oldOne)){
             dappAKlineEntity.setOpenPrice(oldOne.getClosePrice());
+            dappAKlineEntity.setLowestPrice(oldOne.getOpenPrice());
         }else{
             dappAKlineEntity.setOpenPrice(coinAPrice);
+            dappAKlineEntity.setLowestPrice(coinAPrice);
         }
-        dappAKlineEntity.setLowestPrice(coinAPrice);
         dappAKlineEntity.setHighestPrice(coinAPrice);
         dappAKlineEntity.setClosePrice(coinAPrice);
         dappAKlineMapper.insert(dappAKlineEntity);
diff --git a/src/main/java/cc/mrbird/febs/job/BnbTransferJob.java b/src/main/java/cc/mrbird/febs/job/BnbTransferJob.java
index e16e97a..cf1f487 100644
--- a/src/main/java/cc/mrbird/febs/job/BnbTransferJob.java
+++ b/src/main/java/cc/mrbird/febs/job/BnbTransferJob.java
@@ -175,23 +175,18 @@
 //        nodeFivePoolDic.setValue(nodeFivePoolDicCntAva.compareTo(BigDecimal.ZERO) > 0 ? nodeFivePoolDicCntAva.toString() : "0");
 //        dataDictionaryCustomMapper.updateById(nodeFivePoolDic);
 //    }
-
-    /**
-     * A币全网每小时自动燃烧0.1%,燃烧按递减燃烧,按个人每小时0.1%每小时递减。
-     *
-     * A币技术做到资产钱包燃烧,闪兑钱包也要燃烧0.1%每小时
-     */
-    @Scheduled(cron = "0 0 * * * ?")
-    public void aCoinFire() {
-        dappSystemService.aCoinFire();
-    }
-
-    /**
-     * A币内网要做K线图,K线效果做到与交易所效果接近。
-     * 小时
-     */
     @Scheduled(cron = "0 0 * * * ?")
     public void aKlineJobHour() {
+        /**
+         * A币全网每小时自动燃烧0.1%,燃烧按递减燃烧,按个人每小时0.1%每小时递减。
+         *
+         * A币技术做到资产钱包燃烧,闪兑钱包也要燃烧0.1%每小时
+         */
+        dappSystemService.aCoinFire();
+        /**
+         * A币内网要做K线图,K线效果做到与交易所效果接近。
+         * 小时
+         */
         dappSystemService.aKlineJobHour();
     }
     /**
diff --git a/src/main/resources/mapper/dapp/DappAKlineMapper.xml b/src/main/resources/mapper/dapp/DappAKlineMapper.xml
index e27697b..77bbbbc 100644
--- a/src/main/resources/mapper/dapp/DappAKlineMapper.xml
+++ b/src/main/resources/mapper/dapp/DappAKlineMapper.xml
@@ -50,6 +50,15 @@
         limit 1
     </select>
 
+    <select id="selectOneByTypeAsc" resultType="cc.mrbird.febs.dapp.entity.DappAKlineEntity">
+        select
+            a.*
+        from dapp_a_kline a
+        where type in (0,1)
+        order by a.create_time asc
+            limit 1
+    </select>
+
     <select id="selectListByTypeAndHour" resultType="cc.mrbird.febs.dapp.entity.DappAKlineEntity">
         select
         a.*

--
Gitblit v1.9.1