From d09c2a58f85aafc92d6bff7a1131fd0b376eee03 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 12 Dec 2025 15:15:39 +0800
Subject: [PATCH] feat(price): 新增开仓价和持仓量数据处理功能

---
 src/main/java/com/xcong/excoin/modules/symbols/service/impl/SymbolsServiceImpl.java |   11 ++++-------
 1 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/symbols/service/impl/SymbolsServiceImpl.java b/src/main/java/com/xcong/excoin/modules/symbols/service/impl/SymbolsServiceImpl.java
index aec29a5..98af864 100644
--- a/src/main/java/com/xcong/excoin/modules/symbols/service/impl/SymbolsServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/symbols/service/impl/SymbolsServiceImpl.java
@@ -126,22 +126,19 @@
 
     public HomeSymbolsVo getSymbolReturnData(String symbol) {
         PlatformCnyUsdtExchangeEntity cnyUsdtExchange = platformCnyUsdtExchangeDao.getCNYAndUSDTOne();
-        // 获取当日k线数据
-        Candlestick symbolObject = (Candlestick) redisUtils.get(symbol);
         // 获取当前币种最新价
         BigDecimal newestPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(symbol)));
-        // 获取当日k线的开盘价
-        BigDecimal openPrice = symbolObject.getOpen();
-
+        BigDecimal openPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToOpenKey(symbol)));
+        BigDecimal volume = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToVolumeKey(symbol)));
         BigDecimal upOrDown = newestPrice.subtract(openPrice).divide(openPrice, 8, BigDecimal.ROUND_HALF_UP);
         HomeSymbolsVo homeSymbolsVo = new HomeSymbolsVo();
 
         homeSymbolsVo.setSymbol(symbol);
         homeSymbolsVo.setCurrentPrice(newestPrice);
         homeSymbolsVo.setUpOrDown(upOrDown);
-        homeSymbolsVo.setVolume(symbolObject.getVolume());
+        homeSymbolsVo.setVolume(volume);
         if (cnyUsdtExchange != null) {
-            BigDecimal cnyPrice = openPrice.multiply(cnyUsdtExchange.getValue()).setScale(2, BigDecimal.ROUND_HALF_UP);
+            BigDecimal cnyPrice = newestPrice.multiply(cnyUsdtExchange.getValue()).setScale(2, BigDecimal.ROUND_HALF_UP);
             homeSymbolsVo.setCnyPrice(cnyPrice);
         }
 

--
Gitblit v1.9.1