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.beans.factory.annotation.Autowired; 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 = "quartz-job", havingValue = "true") public class BnbTransferJob{ /** * 搜索还未发生转账操作,但是记录已经更新没有产生HASH值的流水记录,并发起转账操作 */ @Autowired private DappFundFlowDao dappFundFlowDao; @Autowired private ChainProducer chainProducer; @Autowired private DataDictionaryCustomMapper dataDictionaryCustomMapper; @Autowired private DappSystemService dappSystemService; // @Scheduled(cron = "0/30 * * * * ? ") // public void BnbTransferAgain() { // DappFundFlowEntity dappFundFlowEntity = dappFundFlowDao.selectByStateAndVersionAndFromHashLimitOne(2,2); // if(ObjectUtil.isNotEmpty(dappFundFlowEntity)){ // Integer isReturn = dappFundFlowEntity.getIsReturn(); // if(DappFundFlowEntity.WITHDRAW_STATUS_AGREE == isReturn){ // chainProducer.sendBnbTransferTestMsg(dappFundFlowEntity.getId()); // } // } // } @Scheduled(cron = "0/30 * * * * ? ") public void ABTransferAgain() { DappFundFlowEntity dappFundFlowEntity = dappFundFlowDao.selectByStateAndVersionAndFromHashTwoLimitOne(1,2); if(ObjectUtil.isNotEmpty(dappFundFlowEntity)){ Integer isReturn = dappFundFlowEntity.getIsReturn(); if(DappFundFlowEntity.WITHDRAW_STATUS_AGREE == isReturn){ chainProducer.sendAntKLineABMsg(dappFundFlowEntity.getId()); } } } /** * 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); // } @Scheduled(cron = "0 0 * * * ?") public void aKlineJobHour() { /** * A币全网每小时自动燃烧0.1%,燃烧按递减燃烧,按个人每小时0.1%每小时递减。 * * A币技术做到资产钱包燃烧,闪兑钱包也要燃烧0.1%每小时 */ dappSystemService.aCoinFire(); /** * A币内网要做K线图,K线效果做到与交易所效果接近。 * 小时 */ dappSystemService.aKlineJobHour(); } /** * A币内网要做K线图,K线效果做到与交易所效果接近。 * 日 */ @Scheduled(cron = "0 0 0 * * ?") public void aKlineJobDay() { dappSystemService.aKlineJobDay(); } }