zyy
2025-07-21 f25b39e0d5fcae415a8824fc03d42fe681e96bf8
src/main/java/com/nq/service/impl/StockServiceImpl.java
@@ -28,8 +28,6 @@
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;
@@ -110,7 +108,7 @@
        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) {
@@ -723,6 +721,7 @@
                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++) {
@@ -739,6 +738,7 @@
                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<>();
@@ -756,10 +756,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(","));
@@ -783,9 +783,17 @@
    @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());
@@ -807,4 +815,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();
    }
}