| | |
| | | return new BigDecimal(stockRealTimeBean.getLast()); |
| | | } |
| | | |
| | | public BigDecimal getBuyNowPrice(String stockCode,EStockType eStockType) { |
| | | Stock stock = stockMapper.selectOne(new QueryWrapper<Stock>().eq("stock_code",stockCode)); |
| | | StockSetting stockSetting = stockSettingMapper.selectOne(new QueryWrapper<StockSetting>().eq("stock_code",stockCode)); |
| | | if(stockSetting != null){ |
| | | if(TimeUtil.isTradingHour(stockSetting.getStartTime(),stockSetting.getEndTime())){ |
| | | if(stockSetting.getType().equals("0")){ |
| | | return new BigDecimal(stockSetting.getPrice()); |
| | | }else{ |
| | | String s = doGet(stock.getStockCode(),eStockType); |
| | | if(null != s){ |
| | | public BigDecimal getBuyNowPrice(String stockCode, EStockType eStockType) { |
| | | Stock stock = stockMapper.selectOne(new QueryWrapper<Stock>().eq("stock_code", stockCode)); |
| | | StockSetting stockSetting = stockSettingMapper.selectOne(new QueryWrapper<StockSetting>().eq("stock_code", stockCode)); |
| | | |
| | | if (stockSetting != null) { |
| | | if (TimeUtil.isTradingHour(stockSetting.getStartTime(), stockSetting.getEndTime())) { |
| | | if (stockSetting.getType().equals("0")) { |
| | | return new BigDecimal(stockSetting.getPrice()); |
| | | } else { |
| | | String s = doGet(stock.getStockCode(), eStockType); |
| | | if (s != null) { |
| | | Map<String, Object> stringObjectMap = jsonToMap(s); |
| | | return new BigDecimal(stringObjectMap.get("last").toString()).multiply(new BigDecimal(stockSetting.getPrice())); |
| | | return new BigDecimal(stringObjectMap.get("last").toString()).multiply(new BigDecimal(stockSetting.getPrice())); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | String s = doGet(stock.getStockCode(),eStockType); |
| | | if(null != s) { |
| | | String s = doGet(stock.getStockCode(), eStockType); |
| | | if (s != null) { |
| | | Map<String, Object> stringObjectMap = jsonToMap(s); |
| | | return new BigDecimal(stringObjectMap.get("last").toString()); |
| | | return new BigDecimal(stringObjectMap.get("last").toString()); |
| | | } |
| | | |
| | | return BigDecimal.ZERO; |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | public String doGet(String pid,EStockType eStockType){ |
| | | String apiUrl = ""; |
| | | if("IN".equals(eStockType.getCode())){ |
| | | public String doGet(String pid, EStockType eStockType) { |
| | | String apiUrl = ""; |
| | | if ("IN".equals(eStockType.getCode())) { |
| | | String inNowHttpApi = PropertiesUtil.getProperty("IN_NOW_HTTP_API"); |
| | | String inNowKey = PropertiesUtil.getProperty("IN_NOW_KEY"); |
| | | apiUrl = inNowHttpApi+"stock?pid="+pid+"&key="+inNowKey; |
| | | }else{ |
| | | apiUrl = eStockType.getStockUrl()+"stock?pid="+pid+"&key="+eStockType.getStockKey(); |
| | | apiUrl = inNowHttpApi + "stock?pid=" + pid + "&key=" + inNowKey; |
| | | } else { |
| | | apiUrl = eStockType.getStockUrl() + "stock?pid=" + pid + "&key=" + eStockType.getStockKey(); |
| | | } |
| | | try { |
| | | URL url = new URL(apiUrl); |
| | | HttpURLConnection connection = (HttpURLConnection) url.openConnection(); |
| | | |
| | | try { |
| | | URL url = new URL(apiUrl); |
| | | HttpURLConnection connection = (HttpURLConnection) url.openConnection(); |
| | | connection.setRequestMethod("GET"); |
| | | |
| | | BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream())); |
| | | String inputLine; |
| | | StringBuffer response = new StringBuffer(); |
| | | BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream())); |
| | | String inputLine; |
| | | StringBuffer response = new StringBuffer(); |
| | | |
| | | while ((inputLine = in.readLine()) != null) { |
| | | while ((inputLine = in.readLine()) != null) { |
| | | response.append(inputLine); |
| | | } |
| | | in.close(); |
| | | return response.toString(); |
| | | } catch (Exception e) { |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | return null; |
| | |
| | | @Override |
| | | public BigDecimal getNowPrice(String stockCode, String stockType) { |
| | | EStockType eStockType = EStockType.getEStockTypeByCode(stockType); |
| | | BigDecimal nowPrice = getBuyNowPrice(stockCode,eStockType); |
| | | if (!stockType.equals("DZ")){ |
| | | return nowPrice; |
| | | BigDecimal nowPrice = getBuyNowPrice(stockCode, eStockType); |
| | | |
| | | if (!stockType.equals("DZ")) { |
| | | return nowPrice; |
| | | } |
| | | QueryWrapper queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("stock_code",stockCode); |
| | | StockDz stockDz = stockDZMapper.selectOne(queryWrapper); |
| | | if(stockDz == null){ |
| | | return nowPrice;} |
| | | return nowPrice.multiply(stockDz.getDiscount()); |
| | | |
| | | QueryWrapper queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("stock_code", stockCode); |
| | | StockDz stockDz = stockDZMapper.selectOne(queryWrapper); |
| | | |
| | | if (stockDz == null) { |
| | | return nowPrice; |
| | | } |
| | | |
| | | return nowPrice.multiply(stockDz.getDiscount()); |
| | | } |
| | | |
| | | @Override |
| | | public BigDecimal getPrice(String stockCode) { |
| | | return stockDZMapper.getPrice(stockCode); |
| | | } |
| | | |
| | | } |