| | |
| | | |
| | | @Override |
| | | public void saveOne(String symbol, String line) { |
| | | RequestDataHelper.set("symbol", symbol); |
| | | saveOneByHuoBi(symbol, line); |
| | | /*RequestDataHelper.set("symbol", symbol); |
| | | Realtime realtime = DataCache.getRealtime(symbol); |
| | | if (realtime == null) { |
| | | logger.error("saveOne error, realtime is null,symbol [" + symbol + "]"); |
| | |
| | | |
| | | String key = symbol + "_" + line; |
| | | Kline hobiOne = DataCache.getKline_hobi().get(key); |
| | | /*if (hobiOne == null || lastOne == null) { |
| | | *//*if (hobiOne == null || lastOne == null) { |
| | | logger.error("saveOne error, hobiOne is null,symbol [" + symbol + "]"); |
| | | // 取不到远程数据,直接退出 |
| | | return; |
| | | }*/ |
| | | }*//* |
| | | RequestDataHelper.set("symbol", symbol); |
| | | Kline kline = this.bulidKline(realtime, lastOne, null, line); |
| | | kline.setPeriod(line); |
| | |
| | | timeObject.getKline().add(kline); |
| | | timeObject.setLastTime(new Date()); |
| | | DataCache.putKline(symbol, line, timeObject); |
| | | RequestDataHelper.clear(); |
| | | RequestDataHelper.clear();*/ |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void saveOneByHuoBi(String symbol, String line) { |
| | | RequestDataHelper.set("symbol", symbol); |
| | | List<Kline> list = hobiDataService.kline(itemService.findBySymbol(symbol).getSymbol(), line, 2, |
| | | 0); |
| | | if (list == null || list.isEmpty()) { |
| | | return; |
| | | } |
| | | Kline kline = list.get(0); |
| | | BigDecimal currentValue = AdjustmentValueCache.getCurrentValue().get(symbol); |
| | | if (currentValue != null && currentValue.compareTo(BigDecimal.ZERO) > 0) { |
| | | if (!kline.isAdjusted()){ |
| | | kline.setClose(kline.getClose().add(currentValue)); |
| | | kline.setOpen(kline.getOpen().add(currentValue)); |
| | | kline.setLow(kline.getLow().add(currentValue)); |
| | | kline.setHigh(kline.getHigh().add(currentValue)); |
| | | kline.setAdjusted(true); |
| | | } |
| | | } |
| | | klineDBService.save(kline); |
| | | KlineTimeObject timeObject = DataCache.getKline(symbol, line); |
| | | if (timeObject == null) { |
| | | timeObject = new KlineTimeObject(); |
| | | } |
| | | timeObject.getKline().add(kline); |
| | | timeObject.setLastTime(new Date()); |
| | | DataCache.putKline(symbol, line, timeObject); |
| | | RequestDataHelper.clear(); |
| | | } |
| | | |
| | | public Kline bulidKline(Realtime realtime, Kline lastOne, Kline hobiOne, String line) { |
| | | Kline kline = new Kline(); |
| | | kline.setSymbol(realtime.getSymbol()); |