src/main/java/cc/mrbird/febs/common/contants/AppContants.java
@@ -141,7 +141,9 @@ public static final String REDIS_KEY_BLOCK_COIN_NUM = "BLOCK_COIN_NUM"; public static final String REDIS_KEY_BLOCK_USDT_NUM = "BLOCK_USDT_NUM"; public static final String REDIS_KEY_BLOCK_ETH_NEWEST_NUM = "BLOCK_ETH_NEWEST_NUM"; public static final String REDIS_KEY_BLOCK_ETH_NEWEST_NUM_HUA_DIAN = "BLOCK_ETH_NEWEST_NUM_HUA_DIAN"; public static final String REDIS_KEY_BLOCK_ETH_INCREMENT_NUM = "BLOCK_ETH_INCREMENT_NUM"; public static final String REDIS_KEY_BLOCK_ETH_INCREMENT_NUM_HUA_DIAN = "BLOCK_ETH_INCREMENT_NUM_HUA_DIAN"; public static final String REDIS_KEY_MAKE_POOL_CNT = "MAKE_POOL_CNT"; src/main/java/cc/mrbird/febs/dapp/service/AsyncCjService.java
@@ -25,7 +25,7 @@ @Async(FebsConstant.ASYNC_POOL) void insertTeamPerk(Long flowId, Long achieveId); @Async(FebsConstant.ASYNC_POOL) // @Async(FebsConstant.ASYNC_POOL) void tradeProfitDistribute(); @Async(FebsConstant.ASYNC_POOL) src/main/java/cc/mrbird/febs/dapp/service/impl/BscCoinContractEvent.java
@@ -272,7 +272,7 @@ BigDecimal multiply = coinPrice.multiply(amount).multiply(new BigDecimal("0.97")).setScale(8,BigDecimal.ROUND_DOWN); //更新这个时间段的滑点数量 redisUtils.set(DataDicEnum.GFA_HUA_DIAN_WALLET_USDT_AMOUNT.getValue(), multiply, 0); log.info("滑点奖励:"+amount); //生成一条记录 DappHdRecord dappHdRecordAdd = new DappHdRecord(); dappHdRecordAdd.setPrice(coinPrice); @@ -281,6 +281,8 @@ dappHdRecordAdd.setCoinAmount(BigDecimal.ZERO); dappHdRecordAdd.setTransactionHash(transactionHash); dappHdRecordMapper.insert(dappHdRecordAdd); dappSystemService.tradeProfitDistribute(1L); chainProducer.sendDitribProfit(1L); // dappSystemService.tradeProfitDistribute(1L); } } src/main/java/cc/mrbird/febs/job/ChainHuadianRunner.java
@@ -31,7 +31,7 @@ long start = System.currentTimeMillis(); log.info("区块链滑点开始启动"); Object incrementObj = redisUtils.get(AppContants.REDIS_KEY_BLOCK_ETH_INCREMENT_NUM); Object incrementObj = redisUtils.get(AppContants.REDIS_KEY_BLOCK_ETH_INCREMENT_NUM_HUA_DIAN); BigInteger newest = ChainService.getInstance(ChainEnum.BSC_GFA.name()).blockNumber(); // Object incrementObj = BigInteger.valueOf(39780699); // BigInteger newest = BigInteger.valueOf(39780739); src/main/java/cc/mrbird/febs/job/ChainListenerJob.java
@@ -7,14 +7,10 @@ import cc.mrbird.febs.dapp.chain.ContractEventService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; import java.math.BigInteger; @Slf4j @@ -38,6 +34,7 @@ BigInteger blockNumber = ChainService.getInstance(ChainEnum.BSC_GFA.name()).blockNumber(); redisUtils.set(AppContants.REDIS_KEY_BLOCK_ETH_NEWEST_NUM, blockNumber); redisUtils.set(AppContants.REDIS_KEY_BLOCK_ETH_NEWEST_NUM_HUA_DIAN, blockNumber); } @Scheduled(cron = "0/2 * * * * ? ") @@ -67,6 +64,33 @@ redisUtils.set(AppContants.REDIS_KEY_BLOCK_ETH_INCREMENT_NUM, toIncrement); } @Scheduled(cron = "0/2 * * * * ? ") public void chainIncrementBlockHuaDian() { Object newestBlockObj = redisUtils.get(AppContants.REDIS_KEY_BLOCK_ETH_NEWEST_NUM_HUA_DIAN); BigInteger newestBlock; if (newestBlockObj == null) { newestBlock = ChainService.getInstance(ChainEnum.BSC_GFA.name()).blockNumber(); } else { newestBlock = (BigInteger) newestBlockObj; } Object incrementObj = redisUtils.get(AppContants.REDIS_KEY_BLOCK_ETH_INCREMENT_NUM_HUA_DIAN); BigInteger toIncrement; if (incrementObj == null) { toIncrement = newestBlock; } else { BigInteger incrementBlock = (BigInteger) incrementObj; // 最新区块小于增加区块 if (newestBlock.compareTo(incrementBlock) <= 0) { return; } toIncrement = incrementBlock.add(BigInteger.ONE); } redisUtils.set(AppContants.REDIS_KEY_BLOCK_ETH_INCREMENT_NUM_HUA_DIAN, toIncrement); } // @Override // public void run(ApplicationArguments args) throws Exception { // long start = System.currentTimeMillis(); src/main/java/cc/mrbird/febs/rabbit/consumer/ChainConsumer.java
@@ -2,9 +2,7 @@ import cc.mrbird.febs.dapp.service.DappSystemService; import cc.mrbird.febs.rabbit.QueueConstants; import com.rabbitmq.client.Channel; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.core.Message; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; @@ -31,7 +29,7 @@ @RabbitListener(queues = QueueConstants.QUEUE_GFA_ZY_HUA_DIAN) public void distrbProfit(Long id) { log.info("收到滑点分配消息:{}", id); // dappSystemService.tradeProfitDistribute(id); dappSystemService.tradeProfitDistribute(id); } @RabbitListener(queues = QueueConstants.USER_BUY_REWARD)