From cc2cd727b55d94f1802b6bec0b839e9b7b116f92 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Wed, 31 Aug 2022 16:23:49 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java |   15 ++++++-
 src/main/resources/mapper/dapp/DappPriceRecordDao.xml                     |   10 +++++
 src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java          |    4 ++
 src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java |    2 
 src/test/java/cc/mrbird/febs/MemberTest.java                              |   11 +++--
 src/main/java/cc/mrbird/febs/dapp/mapper/DappPriceRecordDao.java          |    6 +++
 src/main/resources/application-dev.yml                                    |   14 +++---
 src/main/java/cc/mrbird/febs/dapp/entity/DappPriceRecordEntity.java       |    4 ++
 8 files changed, 51 insertions(+), 15 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java b/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java
index 36cf5fc..3c25b83 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java
@@ -118,7 +118,7 @@
     @ApiOperation(value = "价格", notes = "价格")
     @GetMapping(value = "/price")
     public FebsResponse price() {
-        return new FebsResponse().success();
+        return new FebsResponse().success().data(dappSystemService.findPriceListIn24H());
     }
 
     @PostMapping(value = "/logout")
diff --git a/src/main/java/cc/mrbird/febs/dapp/entity/DappPriceRecordEntity.java b/src/main/java/cc/mrbird/febs/dapp/entity/DappPriceRecordEntity.java
index 8fe8238..185375e 100644
--- a/src/main/java/cc/mrbird/febs/dapp/entity/DappPriceRecordEntity.java
+++ b/src/main/java/cc/mrbird/febs/dapp/entity/DappPriceRecordEntity.java
@@ -1,6 +1,7 @@
 package cc.mrbird.febs.dapp.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
@@ -24,4 +25,7 @@
     private BigDecimal price;
 
     private Long timestamp;
+
+    @TableField(exist = false)
+    private String time;
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/mapper/DappPriceRecordDao.java b/src/main/java/cc/mrbird/febs/dapp/mapper/DappPriceRecordDao.java
index 18fc2ee..a9f5ea4 100644
--- a/src/main/java/cc/mrbird/febs/dapp/mapper/DappPriceRecordDao.java
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/DappPriceRecordDao.java
@@ -2,6 +2,12 @@
 
 import cc.mrbird.febs.dapp.entity.DappPriceRecordEntity;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Date;
+import java.util.List;
 
 public interface DappPriceRecordDao extends BaseMapper<DappPriceRecordEntity> {
+
+    List<DappPriceRecordEntity> selectPriceListInStartTimeAndEndTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
 }
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 1648759..1d0c050 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java
@@ -2,8 +2,10 @@
 
 import cc.mrbird.febs.dapp.dto.SystemDto;
 import cc.mrbird.febs.dapp.entity.DappMineDataEntity;
+import cc.mrbird.febs.dapp.entity.DappPriceRecordEntity;
 
 import java.math.BigDecimal;
+import java.util.List;
 import java.util.Map;
 
 public interface DappSystemService {
@@ -61,4 +63,6 @@
     void sdmWithdrawFeeDistrib();
 
     void tfcNewPrice();
+
+    List<DappPriceRecordEntity> findPriceListIn24H();
 }
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 f2427b0..c2c3c24 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
@@ -17,6 +17,7 @@
 import cc.mrbird.febs.job.SystemTradeJob;
 import cc.mrbird.febs.rabbit.producer.ChainProducer;
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DateField;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUnit;
 import cn.hutool.core.date.DateUtil;
@@ -62,6 +63,7 @@
     private final DappMemberBoxRecordMapper dappMemberBoxRecordMapper;
     private final DappWalletCoinDao dappWalletCoinDao;
     private final DappSdeWithdrawFeeDao dappSdeWithdrawFeeDao;
+    private final DappPriceRecordDao dappPriceRecordDao;
 
 
     @Override
@@ -892,9 +894,6 @@
         return cardCntMap;
     }
 
-    @Autowired
-    private DappPriceRecordDao dappPriceRecordDao;
-
     @Override
     public void tfcNewPrice() {
         BigDecimal newPrice = newestPrice();
@@ -919,4 +918,14 @@
         // 给影子生态发送价格
         chainProducer.sendTfcNewPrice(newPrice.toPlainString());
     }
+
+    @Override
+    public List<DappPriceRecordEntity> findPriceListIn24H() {
+        DateTime startTime = DateUtil.offset(new Date(), DateField.HOUR, -24);
+        List<DappPriceRecordEntity> list = dappPriceRecordDao.selectPriceListInStartTimeAndEndTime(startTime, new Date());
+        list.forEach(item -> {
+            item.setTime(DateUtil.format(item.getCreateTime(), "HH:mm"));
+        });
+        return list;
+    }
 }
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 33729d0..f4b7036 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -15,14 +15,14 @@
       datasource:
         # 数据源-1,名称为 base
         base:
-#          username: db_tfc
-#          password: tfc123!@#
-#          driver-class-name: com.mysql.cj.jdbc.Driver
-#          url: jdbc:mysql://47.111.90.145:3306/db_tfc?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2b8
-          username: ct_test
-          password: 123456
+          username: db_tfc
+          password: tfc123!@#
           driver-class-name: com.mysql.cj.jdbc.Driver
-          url: jdbc:mysql://120.27.238.55:3306/db_tfc?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2b8
+          url: jdbc:mysql://47.111.90.145:3306/db_tfc?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2b8
+#          username: ct_test
+#          password: 123456
+#          driver-class-name: com.mysql.cj.jdbc.Driver
+#          url: jdbc:mysql://120.27.238.55:3306/db_tfc?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2b8
 
   redis:
     # Redis数据库索引(默认为 0)
diff --git a/src/main/resources/mapper/dapp/DappPriceRecordDao.xml b/src/main/resources/mapper/dapp/DappPriceRecordDao.xml
index 68b303a..555f77a 100644
--- a/src/main/resources/mapper/dapp/DappPriceRecordDao.xml
+++ b/src/main/resources/mapper/dapp/DappPriceRecordDao.xml
@@ -2,4 +2,14 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="cc.mrbird.febs.dapp.mapper.DappPriceRecordDao">
 
+    <select id="selectPriceListInStartTimeAndEndTime" resultType="cc.mrbird.febs.dapp.entity.DappPriceRecordEntity">
+        select
+            date_format(create_time, '%Y-%m-%d %H:00:00') create_time,
+            avg(price) price
+        from dapp_price_record
+        where create_time >= #{startTime} or #{endTime} >= create_time
+        group by date_format(create_time, '%y-%m-%d %H')
+        order by id
+    </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 f27ea26..0374e20 100644
--- a/src/test/java/cc/mrbird/febs/MemberTest.java
+++ b/src/test/java/cc/mrbird/febs/MemberTest.java
@@ -2,10 +2,7 @@
 
 import cc.mrbird.febs.common.contants.AppContants;
 import cc.mrbird.febs.common.utils.RedisUtils;
-import cc.mrbird.febs.dapp.entity.DappFundFlowEntity;
-import cc.mrbird.febs.dapp.entity.DappMemberBoxRecordEntity;
-import cc.mrbird.febs.dapp.entity.DappMemberEntity;
-import cc.mrbird.febs.dapp.entity.DataDictionaryCustom;
+import cc.mrbird.febs.dapp.entity.*;
 import cc.mrbird.febs.dapp.mapper.DappFundFlowDao;
 import cc.mrbird.febs.dapp.mapper.DappMemberBoxRecordMapper;
 import cc.mrbird.febs.dapp.mapper.DappMemberDao;
@@ -139,6 +136,12 @@
     }
 
     @Test
+    public void priceTest() {
+        List<DappPriceRecordEntity> priceListIn24H = dappSystemService.findPriceListIn24H();
+        System.out.println(111);
+    }
+
+    @Test
     public void buyRewardTest() {
         dappSystemService.userBuyReward(347L);
     }

--
Gitblit v1.9.1