From 7b6b9968d3729e2611737e54954bb6ebd42b53bf Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 29 May 2023 16:26:53 +0800
Subject: [PATCH] twoCoin项目修改

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java |   11 +++--
 src/main/resources/mapper/dapp/DappAKlineMapper.xml                       |   16 ++++++++
 src/main/java/cc/mrbird/febs/dapp/mapper/DappAKlineMapper.java            |    4 ++
 src/test/java/cc/mrbird/febs/MemberTest.java                              |   47 +++++++++++++++--------
 4 files changed, 57 insertions(+), 21 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 e685614..88e4378 100644
--- a/src/main/java/cc/mrbird/febs/dapp/mapper/DappAKlineMapper.java
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/DappAKlineMapper.java
@@ -26,4 +26,8 @@
     List<AKLineLimitVo> selectListByTypeAndLimit(@Param("type")int type, @Param("kLineLimit")int kLineLimit);
 
     DappAKlineEntity selectOneByType();
+
+    DappAKlineEntity selectOneHourByType();
+
+    List<DappAKlineEntity> selectListByIds(@Param("min")Long id, @Param("max")Long id1);
 }
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 5a1cbfe..9025a82 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
@@ -1709,11 +1709,12 @@
         );
 
         BigDecimal coinAPrice = new BigDecimal(dataDictionaryCustom.getValue());
-        DateTime dateTime = DateUtil.offsetHour(DateUtil.date(), -1);
-        String format = DateUtil.format(dateTime, "yyyy-MM-dd HH");
-        List<String> dataDayStrList = new ArrayList<>();
-        dataDayStrList.add(format);
-        List<DappAKlineEntity> dappAKlineEntities = dappAKlineMapper.selectListByTypeAndHour(dataDayStrList);
+        /**
+         * 查询出上一条更新的小时数据
+         */
+        DappAKlineEntity minRecord = dappAKlineMapper.selectOneHourByType();
+        DappAKlineEntity maxRecord = dappAKlineMapper.selectOneByType();
+        List<DappAKlineEntity> dappAKlineEntities = dappAKlineMapper.selectListByIds(minRecord.getId(),maxRecord.getId());
 
         DappAKlineEntity dappAKlineEntity = new DappAKlineEntity();
         dappAKlineEntity.setType(1);
diff --git a/src/main/resources/mapper/dapp/DappAKlineMapper.xml b/src/main/resources/mapper/dapp/DappAKlineMapper.xml
index 6ec217f..f2858bb 100644
--- a/src/main/resources/mapper/dapp/DappAKlineMapper.xml
+++ b/src/main/resources/mapper/dapp/DappAKlineMapper.xml
@@ -61,4 +61,20 @@
         order by a.create_time asc
     </select>
 
+    <select id="selectOneHourByType" resultType="cc.mrbird.febs.dapp.entity.DappAKlineEntity">
+        select
+            a.*
+        from dapp_a_kline a
+        where type = 1
+        order by a.create_time desc
+            limit 1
+    </select>
+
+    <select id="selectListByIds" resultType="cc.mrbird.febs.dapp.entity.DappAKlineEntity">
+        select
+            a.*
+        from dapp_a_kline a
+        where id between #{min} and #{max}
+    </select>
+
 </mapper>
\ No newline at end of file
diff --git a/src/test/java/cc/mrbird/febs/MemberTest.java b/src/test/java/cc/mrbird/febs/MemberTest.java
index 285e9f5..d41b9ad 100644
--- a/src/test/java/cc/mrbird/febs/MemberTest.java
+++ b/src/test/java/cc/mrbird/febs/MemberTest.java
@@ -6,8 +6,10 @@
 import cc.mrbird.febs.dapp.chain.ChainEnum;
 import cc.mrbird.febs.dapp.chain.ChainService;
 import cc.mrbird.febs.dapp.contract.ContractMain;
+import cc.mrbird.febs.dapp.entity.DappAKlineEntity;
 import cc.mrbird.febs.dapp.entity.DappMemberEntity;
 import cc.mrbird.febs.dapp.entity.DataDictionaryCustom;
+import cc.mrbird.febs.dapp.mapper.DappAKlineMapper;
 import cc.mrbird.febs.dapp.mapper.DappFundFlowDao;
 import cc.mrbird.febs.dapp.mapper.DappMemberDao;
 import cc.mrbird.febs.dapp.mapper.DataDictionaryCustomMapper;
@@ -15,6 +17,8 @@
 import cc.mrbird.febs.dapp.vo.AKLineLimitVo;
 import cc.mrbird.febs.dapp.vo.AKLineVo;
 import cc.mrbird.febs.rabbit.producer.ChainProducer;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONArray;
@@ -30,6 +34,7 @@
 import java.math.BigInteger;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * @author wzy
@@ -54,6 +59,9 @@
     private ChainProducer chainProducer;
 
     @Autowired
+    private DappAKlineMapper dappAKlineMapper;
+
+    @Autowired
     private RedisUtils redisUtils;
     //        String address = dappMemberEntity.getAddress();
 //        String hash = ChainService.getInstance(ChainEnum.BSC_USDT.name()).transfer(address, amount);
@@ -62,25 +70,32 @@
 //        }
 
     public static void main(String[] args) {
-
-        List<JSONObject> objects = new ArrayList<>();
-        AKLineVo akLineVo = new AKLineVo();
-        akLineVo.setCreateTime(DateUtil.date());
-        akLineVo.setClosePrice(BigDecimal.ZERO);
-        akLineVo.setOpenPrice(BigDecimal.ZERO);
-        akLineVo.setLowestPrice(BigDecimal.ZERO);
-        akLineVo.setHighestPrice(BigDecimal.ZERO);
-        JSONObject parseObj = JSONUtil.parseObj(akLineVo);
-        objects.add(parseObj);
-        objects.add(parseObj);
-        objects.add(parseObj);
-        objects.add(parseObj);
-        System.out.println(objects);
     }
     @Test
     public void tranfer(){
-//        dappSystemService.antKLineMsg(1);
-        dappSystemService.AntACoinInMsg(780L);
+        DateTime dateTime = DateUtil.offsetHour(DateUtil.date(), -1);
+        String format = DateUtil.format(dateTime, "yyyy-MM-dd HH");
+        List<String> dataDayStrList = new ArrayList<>();
+        dataDayStrList.add(format);
+        List<DappAKlineEntity> dappAKlineEntities = dappAKlineMapper.selectListByTypeAndHour(dataDayStrList);
+
+        DappAKlineEntity dappAKlineEntity = new DappAKlineEntity();
+        if(CollUtil.isNotEmpty(dappAKlineEntities)){
+
+            List<BigDecimal> openPriceList = dappAKlineEntities.stream().map(DappAKlineEntity::getOpenPrice).collect(Collectors.toList());
+            BigDecimal openPrice = openPriceList.stream().min(BigDecimal::compareTo).get();
+            System.out.println(openPrice);
+            //获取最高价
+            List<BigDecimal> highestPriceList = dappAKlineEntities.stream().map(DappAKlineEntity::getHighestPrice).collect(Collectors.toList());
+            BigDecimal highestPrice = highestPriceList.stream().max(BigDecimal::compareTo).get();
+            System.out.println(highestPrice);
+
+            List<BigDecimal> lowestPriceList = dappAKlineEntities.stream().map(DappAKlineEntity::getLowestPrice).collect(Collectors.toList());
+            BigDecimal lowestPrice = lowestPriceList.stream().min(BigDecimal::compareTo).get();
+            System.out.println(lowestPrice);
+        }
+        System.out.println(dappAKlineEntities);
+//        dappSystemService.AntACoinInMsg(780L);
 //        dappSystemService.aKlineJobHour();
 //        dappSystemService.aKlineJobDay();
 //        dappSystemService.AntACoinInMsg(164L);

--
Gitblit v1.9.1