zyy
2025-07-19 539f733f62f4a368eb90a07a729b5d948378a705
src/main/java/com/nq/service/impl/StockServiceImpl.java
@@ -23,6 +23,7 @@
import com.nq.utils.stock.qq.QqStockApi;
import com.nq.utils.stock.sina.StockApi;
import com.nq.vo.stock.*;
import com.nq.vo.stock.ai.StockAiOrderVO;
import com.nq.vo.stock.k.MinDataVO;
import com.nq.vo.stock.k.echarts.EchartsDataVO;
@@ -758,10 +759,10 @@
    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(","));
@@ -785,9 +786,16 @@
    @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());
@@ -810,4 +818,30 @@
        }
        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();
    }
}