From 57c12d09f1478036f659a718c81a18f7875aeccb Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 26 May 2023 15:10:47 +0800
Subject: [PATCH] twoCoin项目修改

---
 src/main/java/cc/mrbird/febs/job/BnbTransferJob.java |  161 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 161 insertions(+), 0 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/job/BnbTransferJob.java b/src/main/java/cc/mrbird/febs/job/BnbTransferJob.java
index aaffcaa..da0db31 100644
--- a/src/main/java/cc/mrbird/febs/job/BnbTransferJob.java
+++ b/src/main/java/cc/mrbird/febs/job/BnbTransferJob.java
@@ -1,7 +1,14 @@
 package cc.mrbird.febs.job;
 
 import cc.mrbird.febs.dapp.entity.DappFundFlowEntity;
+import cc.mrbird.febs.dapp.entity.DataDictionaryCustom;
+import cc.mrbird.febs.dapp.enumerate.FundFlowEnum;
+import cc.mrbird.febs.dapp.enumerate.MemberLevelEnum;
+import cc.mrbird.febs.dapp.enumerate.NodeCodeEnum;
+import cc.mrbird.febs.dapp.enumerate.PoolEnum;
 import cc.mrbird.febs.dapp.mapper.DappFundFlowDao;
+import cc.mrbird.febs.dapp.mapper.DataDictionaryCustomMapper;
+import cc.mrbird.febs.dapp.service.DappSystemService;
 import cc.mrbird.febs.rabbit.producer.ChainProducer;
 import cn.hutool.core.util.ObjectUtil;
 import lombok.extern.slf4j.Slf4j;
@@ -9,6 +16,9 @@
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
+
+import java.math.BigDecimal;
+
 @Slf4j
 @Component
 @ConditionalOnProperty(prefix = "system", name = "online-transfer", havingValue = "true")
@@ -20,6 +30,10 @@
     private DappFundFlowDao dappFundFlowDao;
     @Autowired
     private ChainProducer chainProducer;
+    @Autowired
+    private DataDictionaryCustomMapper dataDictionaryCustomMapper;
+    @Autowired
+    private DappSystemService dappSystemService;
 
     @Scheduled(cron = "0/30 * * * * ? ")
     public void BnbTransferAgain() {
@@ -32,4 +46,151 @@
         }
     }
 
+    /**
+     * 20%所有人平分的底池
+     */
+//    @Scheduled(cron = "0 0 1 * * ?")
+//    public void memberPool() {
+//        DataDictionaryCustom nodeThreePoolDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+//                PoolEnum.POOL_ALL_MEMBER_A_CNT.getType(),
+//                PoolEnum.POOL_ALL_MEMBER_A_CNT.getCode()
+//        );
+//        BigDecimal nodeThreePoolDicCnt = new BigDecimal(nodeThreePoolDic.getValue());
+//        if(BigDecimal.ZERO.compareTo(nodeThreePoolDicCnt) >= 0){
+//            return;
+//        }
+//        BigDecimal nodeThreePoolDicCntReal = dappSystemService.nodePoolPerk(nodeThreePoolDicCnt, MemberLevelEnum.MEMBER.getType(), FundFlowEnum.POOL_MEMBER_A_CNT.getCode());
+//        BigDecimal nodeThreePoolDicCntAva = nodeThreePoolDicCnt.subtract(nodeThreePoolDicCntReal);
+//        nodeThreePoolDic.setValue(nodeThreePoolDicCntAva.compareTo(BigDecimal.ZERO) > 0 ? nodeThreePoolDicCntAva.toString() : "0");
+//        dataDictionaryCustomMapper.updateById(nodeThreePoolDic);
+//    }
+    /**
+     * NODE_5_POOL
+     * NODE_4_POOL
+     * NODE_3_POOL
+     * 节点底池的每日分配
+     */
+//    @Scheduled(cron = "0 0 1 * * ?")
+//    public void NodeThreePool() {
+//        DataDictionaryCustom nodeThreePoolDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+//                PoolEnum.NODE_3_POOL.getType(),
+//                PoolEnum.NODE_3_POOL.getCode()
+//        );
+//        BigDecimal nodeThreePoolDicCnt = new BigDecimal(nodeThreePoolDic.getValue());
+//        if(BigDecimal.ZERO.compareTo(nodeThreePoolDicCnt) >= 0){
+//            return;
+//        }
+//        BigDecimal nodeThreePoolDicCntReal = dappSystemService.nodePoolPerk(nodeThreePoolDicCnt, MemberLevelEnum.NODE_3.getType(), FundFlowEnum.DAO_3_NODE_PERK.getCode());
+//        BigDecimal nodeThreePoolDicCntAva = nodeThreePoolDicCnt.subtract(nodeThreePoolDicCntReal);
+//        nodeThreePoolDic.setValue(nodeThreePoolDicCntAva.compareTo(BigDecimal.ZERO) > 0 ? nodeThreePoolDicCntAva.toString() : "0");
+//        dataDictionaryCustomMapper.updateById(nodeThreePoolDic);
+//    }
+
+    /**
+     * 节点四的每日分配
+     */
+    @Scheduled(cron = "0 0 1 * * ?")
+//    public void NodeFourFivePool() {
+//        DataDictionaryCustom nodeFourPoolDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+//                PoolEnum.NODE_4_POOL.getType(),
+//                PoolEnum.NODE_4_POOL.getCode()
+//        );
+//        BigDecimal nodeFourPoolDicCnt = new BigDecimal(nodeFourPoolDic.getValue());
+//        if(BigDecimal.ZERO.compareTo(nodeFourPoolDicCnt) >= 0){
+//            return;
+//        }
+//        BigDecimal nodeFourPoolDicCntReal = dappSystemService.nodePoolPerk(nodeFourPoolDicCnt, MemberLevelEnum.NODE_4.getType(), FundFlowEnum.DAO_4_NODE_PERK.getCode());
+//        BigDecimal nodeFourPoolDicCntAva = nodeFourPoolDicCnt.subtract(nodeFourPoolDicCntReal);
+//        nodeFourPoolDic.setValue(nodeFourPoolDicCntAva.compareTo(BigDecimal.ZERO) > 0 ? nodeFourPoolDicCntAva.toString() : "0");
+//        dataDictionaryCustomMapper.updateById(nodeFourPoolDic);
+//    }
+
+    /**
+     * 节点五的每日分配
+     */
+    @Scheduled(cron = "0 0 1 * * ?")
+//    public void NodeFivePool() {
+//        DataDictionaryCustom nodeFivePoolDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+//                PoolEnum.NODE_5_POOL.getType(),
+//                PoolEnum.NODE_5_POOL.getCode()
+//        );
+//        BigDecimal nodeFivePoolDicCnt = new BigDecimal(nodeFivePoolDic.getValue());
+//        if(BigDecimal.ZERO.compareTo(nodeFivePoolDicCnt) >= 0){
+//            return;
+//        }
+//        BigDecimal nodeFivePoolDicCntReal = dappSystemService.nodePoolPerk(nodeFivePoolDicCnt, MemberLevelEnum.NODE_5.getType(), FundFlowEnum.DAO_5_NODE_PERK.getCode());
+//        BigDecimal nodeFivePoolDicCntAva = nodeFivePoolDicCnt.subtract(nodeFivePoolDicCntReal);
+//        nodeFivePoolDic.setValue(nodeFivePoolDicCntAva.compareTo(BigDecimal.ZERO) > 0 ? nodeFivePoolDicCntAva.toString() : "0");
+//        dataDictionaryCustomMapper.updateById(nodeFivePoolDic);
+//    }
+
+    /**
+     * 节点五的平级奖励每日分配
+     */
+    @Scheduled(cron = "0 0 1 * * ?")
+//    public void NodeFiveEqualsPool() {
+//        DataDictionaryCustom nodeFivePoolDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+//                PoolEnum.NODE_5_EQUALS_POOL.getType(),
+//                PoolEnum.NODE_5_EQUALS_POOL.getCode()
+//        );
+//        BigDecimal nodeFivePoolDicCnt = new BigDecimal(nodeFivePoolDic.getValue());
+//        if(BigDecimal.ZERO.compareTo(nodeFivePoolDicCnt) >= 0){
+//            return;
+//        }
+//        BigDecimal nodeFivePoolDicCntReal = dappSystemService.nodePoolEqualsPerk(nodeFivePoolDicCnt, MemberLevelEnum.NODE_5.getType(), FundFlowEnum.DAO_5_NODE_EQUALS_PERK.getCode());
+//        BigDecimal nodeFivePoolDicCntAva = nodeFivePoolDicCnt.subtract(nodeFivePoolDicCntReal);
+//        nodeFivePoolDic.setValue(nodeFivePoolDicCntAva.compareTo(BigDecimal.ZERO) > 0 ? nodeFivePoolDicCntAva.toString() : "0");
+//        dataDictionaryCustomMapper.updateById(nodeFivePoolDic);
+//    }
+
+    /**
+     * 超级节点奖励每日分配
+     */
+    @Scheduled(cron = "0 0 1 * * ?")
+//    public void NodeAPercentPool() {
+//        DataDictionaryCustom nodeFivePoolDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+//                PoolEnum.NODE_A_PERCENT_POOL.getType(),
+//                PoolEnum.NODE_A_PERCENT_POOL.getCode()
+//        );
+//        BigDecimal nodeFivePoolDicCnt = new BigDecimal(nodeFivePoolDic.getValue());
+//        if(BigDecimal.ZERO.compareTo(nodeFivePoolDicCnt) >= 0){
+//            return;
+//        }
+//        /**
+//         * todo 超级节点的分红
+//         */
+//        BigDecimal nodeFivePoolDicCntReal = dappSystemService.superNodePoolPerk(nodeFivePoolDicCnt, NodeCodeEnum.SUPER_NODE.getCode(), FundFlowEnum.NODE_A_PERCENT_TO_MEMBER.getCode());
+//        BigDecimal nodeFivePoolDicCntAva = nodeFivePoolDicCnt.subtract(nodeFivePoolDicCntReal);
+//        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() {
+        dappSystemService.aKlineJobHour();
+    }
+    /**
+     * A币内网要做K线图,K线效果做到与交易所效果接近。
+     * 日
+     */
+    @Scheduled(cron = "0 0 0 * * ?")
+    public void aKlineJobDay() {
+        dappSystemService.aKlineJobDay();
+    }
+
+
 }

--
Gitblit v1.9.1