xiaoyong931011
2023-05-31 9b37a59c8130e82ec59c2414965dcf4aa460f0b2
twoCoin项目修改
4 files modified
48 ■■■■ changed files
src/main/java/cc/mrbird/febs/dapp/mapper/DappAKlineMapper.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java 28 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/job/BnbTransferJob.java 9 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/dapp/DappAKlineMapper.xml 9 ●●●●● patch | view | raw | blame | history
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();
}
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.setHighestPrice(coinAPrice);
        dappAKlineEntity.setClosePrice(coinAPrice);
        dappAKlineMapper.insert(dappAKlineEntity);
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);
//    }
    @Scheduled(cron = "0 0 * * * ?")
    public void aKlineJobHour() {
    /**
     * 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() {
        dappSystemService.aKlineJobHour();
    }
    /**
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.*