From f5e6133809c553cfd9fb28ee61019927c547c374 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 08 Dec 2021 15:58:33 +0800
Subject: [PATCH] 20211208  fish

---
 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