From 795c543d6e685e15a93a6821bc1a9837adaf5531 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Mon, 09 Feb 2026 11:22:20 +0800
Subject: [PATCH] 1
---
src/main/java/com/nq/utils/task/stock/StockTask.java | 50 ++++++++++++++++++++++++++++----------------------
1 files changed, 28 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..48db8e8 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. 批量创建所有异步任务
@@ -148,7 +140,7 @@
return;
}
List<String> stockCodeList = list.stream().map(DataStockBean::getId).collect(Collectors.toList());
- List<Stock> stockList = stockMapper.selectList(new QueryWrapper<Stock>().in("stock_code", stockCodeList));
+ List<Stock> stockList = stockMapper.selectList(new QueryWrapper<Stock>().in("stock_code", stockCodeList).ne("is_show", 0));
List<Stock> updateStockList = new ArrayList<>();
for (DataStockBean o : list) {
@@ -186,14 +178,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) {
@@ -260,7 +266,7 @@
return;
}
List<String> stockCodeList = list.stream().map(DataStockBean::getId).collect(Collectors.toList());
- List<Stock> stockList = stockMapper.selectList(new QueryWrapper<Stock>().in("stock_code", stockCodeList));
+ List<Stock> stockList = stockMapper.selectList(new QueryWrapper<Stock>().in("stock_code", stockCodeList).ne("is_show", 0));
List<Stock> updateStockList = new ArrayList<>();
for (DataStockBean o : list) {
//Stock stock = stockMapper.findStockByCode(o.getId());
--
Gitblit v1.9.3