| | |
| | | @Override |
| | | public ServerResponse getStockByType(int pageNum, int pageSize, String orderBy, String keyWords, String stockType, HttpServletRequest request) { |
| | | List<Stock> stockList = new ArrayList<>(); |
| | | PageHelper.startPage(pageNum, pageSize); |
| | | stockList.addAll(stockMapper.findStockByType(orderBy,stockType,keyWords)); |
| | | if(stockType.equals(EStockType.IN.getCode())){ |
| | | PageHelper.startPage(pageNum, pageSize); |
| | | stockList.addAll(stockMapper.findStockByType(orderBy,stockType,keyWords)); |
| | | }else{ |
| | | PageHelper.startPage(pageNum, pageSize); |
| | | stockList.addAll(stockMapper.findStockTypeDz(orderBy,EStockType.IN.getCode(), keyWords)); |
| | | } |
| | | |
| | | |
| | | |
| | | List<StockListVO> stockListVOS = Lists.newArrayList(); |
| | | if (stockList.size() > 0){ |
| | | stockListVOS.addAll(Objects.requireNonNull(StockApi.getStockReailTimes(stockList))); |
| | | } |
| | | for (int i = 0; i <stockListVOS.size() ; i++) { |
| | | stockListVOS.get(i).setNowPrice(iPriceServices.getNowPrice(stockListVOS.get(i).getCode()).toString()); |
| | | stockListVOS.get(i).setNowPrice(iPriceServices.getNowPrice(stockListVOS.get(i).getCode(),stockType).toString()); |
| | | } |
| | | RPageInfo pageInfo = new RPageInfo(); |
| | | pageInfo.setList(stockListVOS); |
| | |
| | | return ServerResponse.createBySuccess(pageInfo); |
| | | } |
| | | |
| | | public ServerResponse getDateline(HttpServletResponse response, String code) { |
| | | if (StringUtils.isBlank(code)) |
| | | return ServerResponse.createByErrorMsg(""); |
| | | Stock stock = this.stockMapper.findStockByCode(code); |
| | | if (stock == null) |
| | | return ServerResponse.createByErrorMsg(""); |
| | | response.setHeader("Access-Control-Allow-Origin", "*"); |
| | | Date time = new Date(); |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); |
| | | String end = sdf.format(time); |
| | | Calendar c = Calendar.getInstance(); |
| | | c.setTime(new Date()); |
| | | c.add(2, -3); |
| | | Date m = c.getTime(); |
| | | String mon = sdf.format(m); |
| | | String methodUrl = "http://q.stock.sohu.com/hisHq?code=cn_" + code + "+&start=" + mon + "&end=" + end + "&stat=1&order=D"; |
| | | HttpURLConnection connection = null; |
| | | BufferedReader reader = null; |
| | | String line = null; |
| | | EchartsDataVO echartsDataVO = new EchartsDataVO(); |
| | | try { |
| | | URL url = new URL(methodUrl); |
| | | connection = (HttpURLConnection) url.openConnection(); |
| | | connection.setRequestMethod("GET"); |
| | | connection.connect(); |
| | | if (connection.getResponseCode() == 200) { |
| | | reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "gbk")); |
| | | StringBuilder result = new StringBuilder(); |
| | | while ((line = reader.readLine()) != null) |
| | | result.append(line).append(System.getProperty("line.separator")); |
| | | JSONArray jsonArray = JSONArray.fromObject(result.toString()); |
| | | JSONObject json = jsonArray.getJSONObject(0); |
| | | JSONArray jsonArray1 = JSONArray.fromObject(json.get("hq")); |
| | | Collections.reverse((List<?>) jsonArray1); |
| | | double[][] values = (double[][]) null; |
| | | Object[][] volumes = (Object[][]) null; |
| | | String[] date = null; |
| | | values = new double[jsonArray1.size()][5]; |
| | | volumes = new Object[jsonArray1.size()][3]; |
| | | date = new String[jsonArray1.size()]; |
| | | for (int i = 0; i < jsonArray1.size(); i++) { |
| | | JSONArray js = JSONArray.fromObject(jsonArray1.get(i)); |
| | | date[i] = js.get(0).toString(); |
| | | values[i][0] = Double.valueOf(js.get(1).toString()).doubleValue(); |
| | | values[i][1] = Double.valueOf(js.get(2).toString()).doubleValue(); |
| | | values[i][2] = Double.valueOf(js.get(5).toString()).doubleValue(); |
| | | values[i][3] = Double.valueOf(js.get(6).toString()).doubleValue(); |
| | | values[i][4] = Double.valueOf(js.get(7).toString()).doubleValue(); |
| | | volumes[i][0] = Integer.valueOf(i); |
| | | volumes[i][1] = Double.valueOf(js.get(7).toString()); |
| | | volumes[i][2] = Integer.valueOf((Double.valueOf(js.get(3).toString()).doubleValue() > 0.0D) ? 1 : -1); |
| | | } |
| | | echartsDataVO.setDate(date); |
| | | echartsDataVO.setValues(values); |
| | | echartsDataVO.setVolumes(volumes); |
| | | echartsDataVO.setStockCode(stock.getStockCode()); |
| | | echartsDataVO.setStockName(stock.getStockName()); |
| | | ServerResponse.createBySuccess(echartsDataVO); |
| | | } |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } finally { |
| | | try { |
| | | reader.close(); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | connection.disconnect(); |
| | | } |
| | | return ServerResponse.createBySuccess(echartsDataVO); |
| | | @Override |
| | | public ServerResponse getDateline(HttpServletResponse paramHttpServletResponse, String paramString) { |
| | | return null; |
| | | } |
| | | |
| | | |
| | | public ServerResponse getSingleStock(String code, HttpServletRequest request) { |
| | | if (StringUtils.isBlank(code)) |
| | |
| | | @Override |
| | | public Object getKData(String pid, String interval, String stockType) { |
| | | EStockType eStockType = EStockType.getEStockTypeByCode(stockType); |
| | | if(eStockType == EStockType.IN){ |
| | | return HttpUtil.get(eStockType.stockUrl+"api/all/getKData.do?pid="+pid+"&interval="+interval+"&stockType=in"); |
| | | } |
| | | return HttpUtil.get(eStockType.stockUrl + "kline?pid=" + pid + "&interval=" + interval + "&key=" + eStockType.stockKey); |
| | | } |
| | | |