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") 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; } 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); } 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(); } 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; } } 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) 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> 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); }