From 3f91c4b35d9cb35deac3b6e02919d0809d8b6466 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 24 Nov 2020 17:48:06 +0800
Subject: [PATCH] modify

---
 src/main/java/com/xcong/excoin/modules/symbols/service/impl/SymbolsServiceImpl.java |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 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 bd78569..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
@@ -103,12 +103,12 @@
         // 币币行情
         if (AppContants.HOME_SYMBOLS_COIN == type) {
             for (SymbolEnum symbolEnum : SymbolEnum.values()) {
-                list.add(getSymbolReturnData(symbolEnum.getName()));
+                list.add(getSymbolReturnData(symbolEnum.getValue()));
             }
             // 合约行情
         } else if (AppContants.HOME_SYMBOLS_CONTRACT == type) {
             for (SymbolEnum symbolEnum : SymbolEnum.values()) {
-                list.add(getSymbolReturnData(symbolEnum.getName()));
+                list.add(getSymbolReturnData(symbolEnum.getValue()));
             }
             // 自选行情
         } else {
@@ -128,12 +128,20 @@
         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);
@@ -141,7 +149,7 @@
         homeSymbolsVo.setUpOrDown(upOrDown);
         homeSymbolsVo.setVolume(symbolObject.getVolume());
         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