From c6f0d2d2b3fd0af17673690cabdb95018fc4d761 Mon Sep 17 00:00:00 2001 From: zainali5120 <512061637@qq.com> Date: Mon, 19 Oct 2020 15:30:41 +0800 Subject: [PATCH] 优化卖出限制,使用redis配置进行控制 --- src/main/java/com/xcong/excoin/modules/exchange/service/impl/HandleKlineServiceImpl.java | 37 ++++++++++++++++++++++++++++++++++++- 1 files changed, 36 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/exchange/service/impl/HandleKlineServiceImpl.java b/src/main/java/com/xcong/excoin/modules/exchange/service/impl/HandleKlineServiceImpl.java index e61a588..ec776b7 100644 --- a/src/main/java/com/xcong/excoin/modules/exchange/service/impl/HandleKlineServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/exchange/service/impl/HandleKlineServiceImpl.java @@ -49,7 +49,41 @@ newPrice=exchangeTrade.getPrice(); } } - + // 更新今日高地价 + BigDecimal min=BigDecimal.ZERO; + BigDecimal max=BigDecimal.ZERO; + BigDecimal vol = BigDecimal.ZERO; + for (ExchangeTrade exchangeTrade : trades) { + if(exchangeTrade==null){ + continue; + } + if(min.compareTo(BigDecimal.ZERO)==0){ + min = exchangeTrade.getPrice(); + }else{ + min=exchangeTrade.getPrice().min(min); + } + max=exchangeTrade.getPrice().max(max); + vol=vol.add(exchangeTrade.getAmount()); + } + Object o = redisUtils.get(symbolUsdt); + if(o!=null){ + Candlestick today = (Candlestick)o; + today.setVolume(today.getVolume()==null?BigDecimal.ZERO:today.getVolume()); + today.setHigh(today.getHigh().max(max)); + today.setLow(today.getLow().min(min)); + today.setVolume(today.getVolume().add(vol)); + redisUtils.set(symbolUsdt,today); + }else{ + Candlestick today = new Candlestick(); + today.setClose(newPrice); + today.setLow(newPrice); + today.setHigh(newPrice); + today.setVolume(BigDecimal.ZERO); + today.setHigh(today.getHigh().max(max)); + today.setLow(today.getLow().min(min)); + today.setVolume(vol); + redisUtils.set(symbolUsdt,today); + } // 存入redis,websocket去取 String key = "NEW_KINE_{}"; key = StrUtil.format(key, symbolUsdt); @@ -60,4 +94,5 @@ } } + } -- Gitblit v1.9.1