package com.xcong.excoin.quartz.job; import com.xcong.excoin.modules.blackchain.service.TrxUsdtUpdateService; import com.xcong.excoin.modules.blackchain.service.UsdtEthService; import com.xcong.excoin.utils.RedisUtils; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; import java.util.concurrent.ExecutionException; /** * 归集定时任务 * * @author wzy * @date 2020-07-02 **/ @Slf4j @Component @ConditionalOnProperty(prefix = "app", name = "block-job", havingValue = "true") public class NotionalPoolingJob { @Resource private UsdtEthService usdtEthService; @Resource private RedisUtils redisUtils; @Resource private TrxUsdtUpdateService trxUsdtUpdateService; /** * usdt 归集 */ @Scheduled(cron = "0 5/30 * * * ? ") public void poolUsdtEth() { try { log.info("USDT归集开始"); usdtEthService.pool(); log.info("USDT归集结束"); } catch (ExecutionException | InterruptedException e) { log.error("#usdt归集错误#", e); } } /** * 使用扫块 不需要这个 */ //@Scheduled(cron = "0 2/8 * * * ? ") @Deprecated public void usdtEthPoolCheck() { log.info("USDTETH归集结果扫描开始"); usdtEthService.usdtEthPoolCheck(); } @Scheduled(cron = "0 2/30 * * * ? ") public void poolEth() { try { usdtEthService.ethPool(); } catch (ExecutionException | InterruptedException e) { log.info("#ETH归集错误#", e); } } /** * 归集TRC20 */ @Scheduled(cron = "0 1/5 * * * ? ") public void poolUsdtTrc20() { Object trc20_pool = redisUtils.get("TRC20_POOL"); if(trc20_pool==null){ return; } List list = (List)trc20_pool; for(String address: list){ trxUsdtUpdateService.poolByAddress(address); } } }