From 6ed08e7e6a9ecccbb61d5664301da93bbfff67b6 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Wed, 28 Jan 2026 14:29:32 +0800
Subject: [PATCH] 1

---
 src/main/java/com/nq/utils/stock/sina/StockApi.java |   64 +++++++++++++++++++-------------
 1 files changed, 38 insertions(+), 26 deletions(-)

diff --git a/src/main/java/com/nq/utils/stock/sina/StockApi.java b/src/main/java/com/nq/utils/stock/sina/StockApi.java
index 74aaddc..dd31700 100644
--- a/src/main/java/com/nq/utils/stock/sina/StockApi.java
+++ b/src/main/java/com/nq/utils/stock/sina/StockApi.java
@@ -1,9 +1,12 @@
 package com.nq.utils.stock.sina;
 
 
+import cn.hutool.core.bean.BeanUtil;
 import com.alibaba.fastjson2.JSONObject;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.nq.common.ServerResponse;
 import com.nq.pojo.*;
+import com.nq.utils.ConverterUtil;
 import com.nq.utils.http.HttpClientRequest;
 import com.nq.utils.PropertiesUtil;
 import com.nq.utils.redis.JsonUtil;
@@ -18,6 +21,7 @@
 import java.math.BigDecimal;
 import java.util.*;
 
+import org.apache.commons.beanutils.BeanUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.codehaus.jackson.type.TypeReference;
 import org.slf4j.Logger;
@@ -27,6 +31,7 @@
 public class StockApi {
     public static final String sina_url = PropertiesUtil.getProperty("sina.single.stock.url");
     private static final Logger log = LoggerFactory.getLogger(StockApi.class);
+    private static final ObjectMapper objectMapper = new ObjectMapper();
 
     public static List<StockListVO> getStockReailTimes(List<Stock> stocks) {
         if (stocks.size() == 0) {
@@ -34,33 +39,40 @@
         }
         List<StockListVO> stockListVOs = new ArrayList<>();
         try {
-            for (int i = 0; i < stocks.size(); i++) {
-                Stock stock = stocks.get(i);
-                StockRealTimeBean realTimeStock = RedisKeyUtil.getCacheRealTimeStock(stock);
-                StockListVO stockListVO = new StockListVO();
-                stockListVO.setHcrate(new BigDecimal(realTimeStock.getPcp()));
-                stockListVO.setHcrateP(realTimeStock.getPcp()+"%");
-                if(realTimeStock.getPcp().contains("-")){
-                    stockListVO.setColor(0);
-                }else{
-                    stockListVO.setColor(1);
-                    stockListVO.setHcrateP("+"+realTimeStock.getPcp()+"%");
-                }
-                stockListVO.setNowPrice(realTimeStock.getLast());
-                stockListVO.setToday_max(realTimeStock.getHigh());
-                stockListVO.setToday_min(realTimeStock.getLow());
-                stockListVO.setOpen_px(realTimeStock.getBid());
-                stockListVO.setPreclose_px(realTimeStock.getPc());
-                stockListVO.setBusiness_amount(realTimeStock.getAsk());
-                stockListVO.setBusiness_balance("");
 
-                stockListVO.setName(stock.getStockName());
-                stockListVO.setCode(stock.getStockCode());
-                stockListVO.setSpell(stock.getStockSpell());
-                stockListVO.setGid(stock.getStockGid());
-                stockListVO.setStock_plate(stock.getStockPlate());
-                stockListVO.setStock_type(stock.getStockType());
-                stockListVOs.add(stockListVO);
+            for (int i = 0; i < stocks.size(); i++) {
+
+                Stock stock = stocks.get(i);
+//                StockRealTimeBean realTimeStock = RedisKeyUtil.getCacheRealTimeStock(stock);
+                String s = RedisKeyUtil.doPost(stock.getStockCode(), stock.getStockType());
+                if(StringUtils.isNotEmpty(s) && !"[]".equals(s)){
+                    Map<String, Object> map = RedisKeyUtil.jsonToMap(s);
+                    StockRealTimeDto realTimeStock = StockRealTimeDto.fromMap(map);
+                    StockListVO stockListVO = new StockListVO();
+                    stockListVO.setHcrate(new BigDecimal(realTimeStock.getChg()));
+                    stockListVO.setHcrateP(realTimeStock.getChgPct()+"%");
+                    if(realTimeStock.getChgPct().contains("-")){
+                        stockListVO.setColor(0);
+                    }else{
+                        stockListVO.setColor(1);
+                        stockListVO.setHcrateP(realTimeStock.getChgPct()+"%");
+                    }
+                    stockListVO.setNowPrice(realTimeStock.getLast());
+                    stockListVO.setToday_max(realTimeStock.getHigh());
+                    stockListVO.setToday_min(realTimeStock.getLow());
+                    stockListVO.setOpen_px(realTimeStock.getBid());
+                    stockListVO.setPreclose_px(realTimeStock.getPrevClose());
+                    stockListVO.setBusiness_amount(realTimeStock.getAsk());
+                    stockListVO.setBusiness_balance("");
+
+                    stockListVO.setName(stock.getStockName());
+                    stockListVO.setCode(stock.getStockCode());
+                    stockListVO.setSpell(stock.getStockSpell());
+                    stockListVO.setGid(stock.getStockGid());
+                    stockListVO.setStock_plate(stock.getStockPlate());
+                    stockListVO.setStock_type(stock.getStockType());
+                    stockListVOs.add(stockListVO);
+                }
             }
 
 

--
Gitblit v1.9.3