From 292a4634d9c52ce193eca9de356d65960bdc35f4 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 15 Jan 2021 18:20:37 +0800
Subject: [PATCH] 20210115

---
 src/main/java/com/xcong/excoin/modules/symbols/service/impl/SymbolsServiceImpl.java |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 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 95d294a..1c50dcd 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
@@ -128,18 +128,26 @@
         PlatformCnyUsdtExchangeEntity cnyUsdtExchange = platformCnyUsdtExchangeDao.getCNYAndUSDTOne();
         // 获取当日k线数据
         Candlestick symbolObject = (Candlestick) redisUtils.get(symbol);
+        if(symbolObject==null){
+            symbolObject = new Candlestick();
+            symbolObject.setOpen(new BigDecimal(1));
+            symbolObject.setAmount(new BigDecimal(1));
+        }
         // 获取当前币种最新价
         BigDecimal newestPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(symbol)));
         // 获取当日k线的开盘价
         BigDecimal openPrice = symbolObject.getOpen();
 
-        BigDecimal upOrDown = newestPrice.subtract(openPrice).divide(openPrice, 8, BigDecimal.ROUND_HALF_UP);
+        BigDecimal upOrDown = BigDecimal.ZERO;
+        if (openPrice.compareTo(BigDecimal.ZERO) != 0) {
+            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.getAmount());
+        homeSymbolsVo.setVolume(symbolObject.getVolume());
         if (cnyUsdtExchange != null) {
             BigDecimal cnyPrice = newestPrice.multiply(cnyUsdtExchange.getValue()).setScale(2, BigDecimal.ROUND_HALF_UP);
             homeSymbolsVo.setCnyPrice(cnyPrice);

--
Gitblit v1.9.1