| | |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.*; |
| | | import java.util.function.Function; |
| | | import java.util.stream.Collectors; |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | |
| | | List<Stock> stockList = new ArrayList<>(); |
| | | if (stockType.equals("99")) { |
| | | PageHelper.startPage(pageNum, pageSize); |
| | | stockList.addAll(stockMapper.findZtStockListByKeyWords(keyWords, stockPlate, "MX", Integer.valueOf(0))); |
| | | stockList.addAll(stockMapper.findZtStockListByKeyWords(keyWords, stockPlate, "MEX", Integer.valueOf(0))); |
| | | } else if (stockType.equals("100")) { |
| | | User user = iUserService.getCurrentRefreshUser(request); |
| | | if (user == null) { |
| | |
| | | Gson gson = new Gson(); |
| | | List<kData> dataList = gson.fromJson(kData.toString(), new TypeToken<List<kData>>(){}.getType()); |
| | | cacheBaseStock.setKData(dataList); |
| | | cacheBaseStock.setStockType(stockType); |
| | | usDataStockBeans.add(cacheBaseStock); |
| | | } |
| | | for (int i = 0; i < mxStockCodeList.size(); i++) { |
| | |
| | | Gson gson = new Gson(); |
| | | List<kData> dataList = gson.fromJson(kData.toString(), new TypeToken<List<kData>>(){}.getType()); |
| | | cacheBaseStock.setKData(dataList); |
| | | cacheBaseStock.setStockType(stockType); |
| | | mxDataStockBeans.add(cacheBaseStock); |
| | | } |
| | | Map<String, Object> resultMap = new HashMap<>(); |
| | |
| | | public ServerResponse getIndicesList(String stockType) { |
| | | try { |
| | | String codeList; |
| | | if (stockType.equals(EStockType.US.getCode())) { |
| | | codeList = PropertiesUtil.getProperty("us_home_indices_code"); |
| | | } else { |
| | | if(stockType.equals(EStockType.MX.getCode()) || stockType.equals("MX")) { |
| | | codeList = PropertiesUtil.getProperty("mx_home_indices_code"); |
| | | } else { |
| | | codeList = PropertiesUtil.getProperty("us_home_indices_code"); |
| | | } |
| | | List<String> stockCodeList = Arrays.asList(codeList.split(",")); |
| | | |
| | |
| | | @Override |
| | | public ServerResponse getIndicesAndKData(String pid, String stockType) { |
| | | try { |
| | | Stock stock = stockMapper.selectOne(new QueryWrapper<Stock>().eq("stock_code", pid)); |
| | | if (stock == null) { |
| | | return ServerResponse.createByErrorMsg("无股票信息"); |
| | | } |
| | | stockType = stock.getStockType(); |
| | | Map<String, Object> resultMap = new HashMap<>(); |
| | | DataStockBean cacheBaseStock = RedisKeyUtil.getCacheBaseStock(stockType, pid); |
| | | if (cacheBaseStock != null) { |
| | | resultMap.put("id", cacheBaseStock.getId()); |
| | | resultMap.put("stockType", stockType); |
| | | resultMap.put("name", cacheBaseStock.getName()); |
| | | resultMap.put("last", cacheBaseStock.getLast()); |
| | | resultMap.put("chg", cacheBaseStock.getChg()); |
| | | resultMap.put("chgPct", cacheBaseStock.getChgPct()); |
| | |
| | | } |
| | | return ServerResponse.createByError(); |
| | | } |
| | | |
| | | /** |
| | | * 搜索 |
| | | * @param pageNum |
| | | * @param pageSize |
| | | * @param keyWords |
| | | * @return |
| | | */ |
| | | @Override |
| | | public ServerResponse getStocksByKeyWords(int pageNum, int pageSize, String keyWords) { |
| | | try { |
| | | PageHelper.startPage(pageNum, pageSize); |
| | | List<StockVOQuery> stocks = stockMapper.findStocksQuery(keyWords); |
| | | // 获取分页信息 |
| | | PageInfo<StockVOQuery> pageInfo = new PageInfo<>(stocks); |
| | | if (!pageInfo.getList().isEmpty()) { |
| | | pageInfo.getList().forEach(stock -> { |
| | | stock.setNowPrice(iPriceServices.getNowPrice(stock.getStockCode())); |
| | | }); |
| | | } |
| | | return ServerResponse.createBySuccess(pageInfo); |
| | | } catch (Exception e) { |
| | | log.error("StockAiService getStocksByKeyWords error", e); |
| | | } |
| | | return ServerResponse.createByError(); |
| | | } |
| | | } |