| | |
| | | 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; |
| | |
| | | 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") |
| | |
| | | private DappFundFlowDao dappFundFlowDao; |
| | | @Autowired |
| | | private ChainProducer chainProducer; |
| | | @Autowired |
| | | private DataDictionaryCustomMapper dataDictionaryCustomMapper; |
| | | @Autowired |
| | | private DappSystemService dappSystemService; |
| | | |
| | | @Scheduled(cron = "0/30 * * * * ? ") |
| | | public void BnbTransferAgain() { |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 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(); |
| | | } |
| | | |
| | | |
| | | } |