trading-order-admin/src/main/java/com/yami/trading/admin/task/RealtimeWebsocketServer.java
@@ -143,11 +143,14 @@ realtime.setLow(new BigDecimal(low)); } Double h24Before = DataCache.getRealtime24HBeforeOpen().get(symbol); /*ouble h24Before = DataCache.getRealtime24HBeforeOpen().get(symbol); if (h24Before != null) { realtime.setOpen(new BigDecimal(h24Before)); } }*/ /*if (realtime.getSymbol().equals("axsusdt")) { System.out.println("axsusdt2" + realtime); }*/ DataCache.putRealtime(symbol, realtime); // System.out.println(JSONObject.toJSONString(realtime)); } trading-order-admin/src/main/java/com/yami/trading/api/controller/RealtimeController.java
@@ -84,6 +84,10 @@ d.setAmount(d.getAmount().setScale(2, RoundingMode.HALF_UP)); } d.setSymbolData(bySymbol.getSymbolData()); BigDecimal open = DataCache.getLatestOpen(d.getSymbol()); if (open != null) { d.setOpen(open); } d.setChangeRatio(dataDBService.getChangeRatio(d, d.getSymbol())); }); trading-order-huobi/src/main/java/com.yami.trading.huobi/data/DataCache.java
@@ -8,6 +8,7 @@ import com.yami.trading.huobi.data.internal.TrendTimeObject; import org.apache.commons.lang3.StringUtils; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -71,6 +72,7 @@ * 最新的实时价格信息缓存 <币种code, RealTime> */ public static Map<String, Realtime> latestRealTime = new ConcurrentHashMap<>(); public static Map<String, BigDecimal> latestOpen = new ConcurrentHashMap<>(); //股票时区暂存 public static Map<String, StockMarket> realMarketMap = new ConcurrentHashMap<>(); public static void depthToTrade(Depth depth) { @@ -198,4 +200,22 @@ public static void putLatestRealTime(String symbol, Realtime model) { latestRealTime.put(symbol, model); } public static void putLatestOpen(String symbol, BigDecimal open) { latestOpen.put(symbol, open); } public static BigDecimal getLatestOpen(String symbol) { BigDecimal open = latestOpen.get(symbol); if (open == null) { if (StringUtils.isAllLowerCase(symbol)) { symbol = symbol.toUpperCase(); } else if (StringUtils.isAllUpperCase(symbol)) { symbol = symbol.toLowerCase(); } return latestOpen.get(symbol); } else { return open; } } } trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/DataDBServiceImpl.java
@@ -57,7 +57,11 @@ if (itemService.isSuspended(symbol)) { return; } /*if (realtime.getSymbol().equals("axsusdt")) { System.out.println("axsusdt1" + realtime); }*/ DataCache.putLatestRealTime(symbol, realtime); DataCache.putLatestOpen(symbol, realtime.getOpen()); // 最近60s内实时价格集合 List<Realtime> list = DataCache.latestRealTimeMap_60s.get(symbol);