From ad1097015ebbd712f86761ee85e035c0b2bf5ab4 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Mon, 09 Feb 2026 16:33:45 +0800
Subject: [PATCH] 1

---
 src/main/java/com/nq/utils/task/stock/StockTask.java |   54 ++++++++++++++++++++++++++++++++----------------------
 1 files changed, 32 insertions(+), 22 deletions(-)

diff --git a/src/main/java/com/nq/utils/task/stock/StockTask.java b/src/main/java/com/nq/utils/task/stock/StockTask.java
index 071f9f7..b4cecbd 100644
--- a/src/main/java/com/nq/utils/task/stock/StockTask.java
+++ b/src/main/java/com/nq/utils/task/stock/StockTask.java
@@ -1,10 +1,12 @@
 package com.nq.utils.task.stock;
 
 import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.google.gson.Gson;
 import com.google.gson.reflect.TypeToken;
 import com.nq.Repository.StockRepository;
+import com.nq.dao.StockConfigMapper;
 import com.nq.dao.StockMapper;
 import com.nq.dao.UserPositionMapper;
 import com.nq.enums.EConfigKey;
@@ -65,27 +67,19 @@
     @Autowired
     private ExchangeRateService exchangeRateService;
 
+    @Autowired
+    StockConfigMapper stockConfigMapper;
+
     /**
      * test
      */
-    //@Scheduled(cron = "0 0/1 * * * ?")
-    @Scheduled(cron = "*/5 * * * * *")
-    public void test() {
-        /*ExchangeRate model = new ExchangeRate();
-        model.setCurrency("MXN");
-        model.setConversionCurrency("USD");
-        model.setRata(BigDecimal.valueOf(0.0520));
-        exchangeRateService.updateRate(model,null);*/
-
-        //iStockService.getStockByType(1, 20, "desc","st" , "US", null);
-        //istockService.getIndicesList("US");
-        //istockService.getIndicesAndKData("15882", "US");
-    }
+    //@Scheduled(cron = "*/5 * * * * *")
+    public void test() {}
 
     /**
      * 同步系统所需要的股票
      */
-    @Scheduled(cron = "0 0/1 * * * ?")
+    @Scheduled(cron = "0 0/3 * * * ?")
     public void syncINStockData() {
 
         if (syncINStockData.get()) { // 判断任务是否在处理中
@@ -98,9 +92,7 @@
                 // 1. 定义需要处理的所有股票类型(集中管理,新增类型只需添加到列表)
                 List<EStockType> stockTypes = Arrays.asList(
                         EStockType.US,
-                        EStockType.HK,
-                        EStockType.IN,
-                        EStockType.TW
+                        EStockType.JP
                 );
 
                 // 2. 批量创建所有异步任务
@@ -166,7 +158,9 @@
                 stock.setStockGid(EConfigKey.INDICES.getCode());
                 stock.setStockSpell(o.getSymbol());
                 stock.setIsLock(0);
-                stock.setIsShow(0);
+                if (null == stock.getIsShow()){
+                    stock.setIsShow(0);
+                }
                 stock.setDataBase(0);
                 stock.setAddTime(new Date());
                 updateStockList.add(stock);
@@ -186,14 +180,28 @@
      * 同步指数股票后缓存k线图
      */
     public void cacheKData(String stockType, List<DataStockBean> list) {
-        StringBuilder codeList = new StringBuilder();
+        /*StringBuilder codeList = new StringBuilder();
         codeList.append(PropertiesUtil.getProperty("us_home_indices_code"));
         codeList.append(PropertiesUtil.getProperty("hk_home_indices_code"));
         codeList.append(PropertiesUtil.getProperty("in_home_indices_code"));
-        codeList.append(PropertiesUtil.getProperty("tw_home_indices_code"));
+        codeList.append(PropertiesUtil.getProperty("tw_home_indices_code"));*/
+
+
+        List<StockConfig> stockConfigList = stockConfigMapper.selectList
+                (new LambdaQueryWrapper<StockConfig>()
+                        .like(StockConfig::getCKey, EConfigKey.INDICES.getCode()));
+        String codeList = null;
+        if (stockConfigList != null && !stockConfigList.isEmpty()) {
+            codeList = stockConfigList.stream().filter(Objects::nonNull)
+                    .map(x -> { return x.getCValue() == null ? "" : x.getCValue();
+                    }).collect(Collectors.joining(","));
+        }
+        if (codeList == null || codeList.isEmpty()) {
+            return;
+        }
         for (DataStockBean dataStockBean : list) {
             //缓存首页指数k线图
-            if (codeList.toString().contains(dataStockBean.getId())) {
+            if (codeList.contains(dataStockBean.getId())) {
                 // 获取K线数据
                 Object kData = istockService.getKData(dataStockBean.getId(), "D", stockType);
                 if (kData != null) {
@@ -281,7 +289,9 @@
                 }
                 stock.setStockSpell(o.getSymbol());
                 stock.setIsLock(0);
-                stock.setIsShow(0);
+                if (null == stock.getIsShow()){
+                    stock.setIsShow(0);
+                }
                 stock.setDataBase(0);
                 stock.setAddTime(new Date());
                 updateStockList.add(stock);

--
Gitblit v1.9.3