From d0a348c1716c19a671d21563232ebcf596f607d0 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Wed, 28 Oct 2020 18:06:51 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/modules/symbols/service/impl/SymbolsServiceImpl.java | 18 +++++++++++++----- 1 files changed, 13 insertions(+), 5 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..68de18d 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,20 +128,28 @@ 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.getVolume()); + homeSymbolsVo.setVolume(symbolObject.getAmount()); 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