Helius
2020-07-06 41fc805039c7b59145d1fc45e1c96fb7601dc2f5
modify
1 files added
3 files modified
67 ■■■■ changed files
src/main/java/com/xcong/excoin/quartz/job/DayLineDataUpdateJob.java 52 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/quartz/job/NewestPriceUpdateJob.java 11 ●●●●● patch | view | raw | blame | history
src/main/resources/application-test.yml 2 ●●●●● patch | view | raw | blame | history
src/main/resources/application.yml 2 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/quartz/job/DayLineDataUpdateJob.java
New file
@@ -0,0 +1,52 @@
package com.xcong.excoin.quartz.job;
import com.huobi.client.SubscriptionClient;
import com.huobi.client.SubscriptionOptions;
import com.huobi.client.model.Candlestick;
import com.huobi.client.model.enums.CandlestickInterval;
import com.xcong.excoin.modules.symbols.service.SymbolsService;
import com.xcong.excoin.rabbit.pricequeue.WebsocketPriceService;
import com.xcong.excoin.utils.CoinTypeConvert;
import com.xcong.excoin.utils.RedisUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
/**
 * 最新价更新
 *
 * @author wzy
 * @date 2020-05-28
 **/
@Slf4j
@Component
@ConditionalOnProperty(prefix = "app", name = "day-line", havingValue = "true")
public class DayLineDataUpdateJob {
    @Resource
    private RedisUtils redisUtils;
    @Resource
    private SymbolsService symbolsService;
    @Resource
    private WebsocketPriceService websocketPriceService;
    @PostConstruct
    public void initNewestPrice() {
        log.info("#=======价格更新开启=======#");
        SubscriptionOptions subscriptionOptions = new SubscriptionOptions();
        subscriptionOptions.setConnectionDelayOnFailure(5);
        subscriptionOptions.setUri("wss://api.hadax.com/ws");
        SubscriptionClient subscriptionClient = SubscriptionClient.create("", "", subscriptionOptions);
        subscriptionClient.subscribeCandlestickEvent("btcusdt,ethusdt,eosusdt,etcusdt,ltcusdt,bchusdt,xrpusdt", CandlestickInterval.DAY1, (candlestickEvent) -> {
            Candlestick data = candlestickEvent.getData();
            redisUtils.set(CoinTypeConvert.convert(candlestickEvent.getSymbol()), data);
        });
    }
}
src/main/java/com/xcong/excoin/quartz/job/NewestPriceUpdateJob.java
@@ -59,12 +59,9 @@
            }
        });
        subscriptionClient.subscribeCandlestickEvent("btcusdt,ethusdt,eosusdt,etcusdt,ltcusdt,bchusdt,xrpusdt", CandlestickInterval.DAY1, (candlestickEvent) -> {
            Candlestick data = candlestickEvent.getData();
            redisUtils.set(CoinTypeConvert.convert(candlestickEvent.getSymbol()), data);
        });
//        subscriptionClient.subscribeCandlestickEvent("btcusdt,ethusdt,eosusdt,etcusdt,ltcusdt,bchusdt,xrpusdt", CandlestickInterval.DAY1, (candlestickEvent) -> {
//            Candlestick data = candlestickEvent.getData();
//            redisUtils.set(CoinTypeConvert.convert(candlestickEvent.getSymbol()), data);
//        });
    }
}
src/main/resources/application-test.yml
@@ -95,6 +95,8 @@
  redis_expire: 3000
  kline-update-job: false
  newest-price-update-job: true
  #日线 该任务不能与最新价处于同一个服务器
  day-line: true
  other-job: true
  loop-job: true
  rabbit-consumer: true
src/main/resources/application.yml
@@ -97,6 +97,8 @@
  kline-update-job: false
  #最新价任务控制
  newest-price-update-job: false
  #日线 该任务不能与最新价处于同一个服务器
  day-line: false
  #其他任务控制
  other-job: false
  loop-job: false