From 9e6054ca0612a05ec2b698b8a63db7605c600725 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Fri, 05 Mar 2021 14:51:08 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/quartz/job/NewestPriceUpdateJob.java | 52 +++++++++++++++++++++++++++------------------------- 1 files changed, 27 insertions(+), 25 deletions(-) diff --git a/src/main/java/com/xcong/excoin/quartz/job/NewestPriceUpdateJob.java b/src/main/java/com/xcong/excoin/quartz/job/NewestPriceUpdateJob.java index 0bc671e..735b99b 100644 --- a/src/main/java/com/xcong/excoin/quartz/job/NewestPriceUpdateJob.java +++ b/src/main/java/com/xcong/excoin/quartz/job/NewestPriceUpdateJob.java @@ -1,16 +1,16 @@ package com.xcong.excoin.quartz.job; +import com.alibaba.fastjson.JSONObject; 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.netty.common.ServerChannelManager; +import com.xcong.excoin.netty.common.NettyTools; 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.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; @@ -36,30 +36,32 @@ @Resource private WebsocketPriceService websocketPriceService; - @PostConstruct + @Autowired + private RedisTemplate redisTemplate; + + @Autowired + private SubscriptionClient subscriptionClient; + +// @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.subscribeTradeEvent("btcusdt,ethusdt,xrpusdt,ltcusdt,bchusdt,eosusdt,etcusdt", tradeEvent -> { - String symbol = tradeEvent.getSymbol(); - // 根据symbol判断做什么操作 - symbol = CoinTypeConvert.convert(symbol); - if (null != symbol) { - String price = tradeEvent.getTradeList().get(0).getPrice().toPlainString(); - // TODO 测试环境关闭这个插入redis - redisUtils.set(CoinTypeConvert.convertToKey(symbol), price); - if ("ETC/USDT".equalsIgnoreCase(symbol)) { - websocketPriceService.wholeBomb(symbol, price); - } - // 比较 - websocketPriceService.comparePriceAsc(symbol, price); - websocketPriceService.comparePriceDesc(symbol, price); - //System.out.println("比较完毕:"+symbol+"-"+price); - } + subscriptionClient.subscribeTradeEvent("btcusdt,ethusdt,xrpusdt,ltcusdt,bchusdt,eosusdt,etcusdt", tradeEvent -> { + ServerChannelManager.getTcpGroup().writeAndFlush(NettyTools.textBytes(JSONObject.toJSONString(tradeEvent))); +// String symbol = tradeEvent.getSymbol(); +// // 根据symbol判断做什么操作 +// symbol = CoinTypeConvert.convert(symbol); +// if (null != symbol) { +// String price = tradeEvent.getTradeList().get(0).getPrice().toPlainString(); +// // TODO 测试环境关闭这个插入redis +// redisUtils.set(CoinTypeConvert.convertToKey(symbol), price); +// // 比较 +// websocketPriceService.comparePriceAsc(symbol, price); +// websocketPriceService.comparePriceDesc(symbol, price); +// websocketPriceService.wholeBomb(); +// //System.out.println("比较完毕:"+symbol+"-"+price); +// +// } }); // subscriptionClient.subscribeCandlestickEvent("btcusdt,ethusdt,eosusdt,etcusdt,ltcusdt,bchusdt,xrpusdt", CandlestickInterval.DAY1, (candlestickEvent) -> { -- Gitblit v1.9.1