From 0426160a1f283c1f810e3059f6037676da8cb110 Mon Sep 17 00:00:00 2001
From: zyy3 <zyy3@zy.com>
Date: Wed, 05 Nov 2025 16:37:01 +0800
Subject: [PATCH] 1
---
trading-order-admin/src/main/java/com/yami/trading/admin/task/StockTask.java | 33 +++++++++++++++++++++++++++------
1 files changed, 27 insertions(+), 6 deletions(-)
diff --git a/trading-order-admin/src/main/java/com/yami/trading/admin/task/StockTask.java b/trading-order-admin/src/main/java/com/yami/trading/admin/task/StockTask.java
index c975b65..b152b1d 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/admin/task/StockTask.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/admin/task/StockTask.java
@@ -103,18 +103,35 @@
if (list.isEmpty()) {
return;
}
- List<String> stockCodeList = list.stream().map(StockRealTimeBean::getSymbol).collect(Collectors.toList());
- List<Item> stockList = itemService.list(new QueryWrapper<Item>().in("symbol", stockCodeList));
+ List<String> stockCodeList = list.stream().map(StockRealTimeBean::getId).collect(Collectors.toList());
+ List<Item> stockList = itemService.list(new QueryWrapper<Item>()
+ .eq("type", Item.US_STOCKS).in("stock_code", stockCodeList));
+
+ List<Item> indicesList = itemService.list(new QueryWrapper<Item>()
+ .eq("type", Item.indices));
+
+ log.info("同步股票 已有数据 {} 获取数据 {}", stockList.size(), list.size());
+ System.out.println(stockList);
List<Item> updateStockList = new ArrayList<>();
for (StockRealTimeBean o : list) {
//System.out.println(o);
Item item = stockList.stream()
+ .filter(x -> x.getSymbol().equals(o.getSymbol()) &&
+ x.getStockCode().equals(o.getId()))
+ .findFirst()
+ .orElse(null);
+ if (item != null) { //已有不添加
+ continue;
+ }
+ item = indicesList.stream()
.filter(x -> x.getSymbol().equals(o.getSymbol()))
.findFirst()
.orElse(null);
- if (item == null) {
- item = new Item();
+ if (item != null) { //已有不添加
+ continue;
}
+
+ item = new Item();
String name = StringUtils.trim(o.getName());
item.setEnName(name);
item.setName(name);
@@ -139,6 +156,8 @@
item.setShowStatus("1");
item.setTradeStatus("1");
item.setQuoteCurrency("USDT");
+ item.setCrawlStatus("default_active");
+ item.setStockCode(o.getId());
updateStockList.add(item);
@@ -162,8 +181,10 @@
DataCache.putRealtime(realtime.getSymbol(), realtime);
}
- itemService.saveOrUpdateBatch(updateStockList);
- log.info("同步股票 数据 成功 {} 总共同步数据 {}", eStockType.getCode(), list.size());
+ if (!updateStockList.isEmpty()) {
+ itemService.saveOrUpdateBatch(updateStockList);
+ }
+ log.info("同步股票 数据 成功 {} 总共同步数据 {}", eStockType.getCode(), updateStockList.size());
} catch (
Exception e) {
log.error("同步出错", e);
--
Gitblit v1.9.3