From 8c57a69ea7c031130ee7d336b0671cb170090be0 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Wed, 19 Nov 2025 17:31:18 +0800
Subject: [PATCH] 1

---
 trading-order-admin/src/main/java/com/yami/trading/admin/task/StockTask.java |   53 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 52 insertions(+), 1 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 a35b12b..b34e69e 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
@@ -293,7 +293,7 @@
     public static void main(String[] args) {
         EStockType eStockType = EStockType.US;
         StockTask stockTask = new StockTask();
-        List<StockRealTimeBean> list = new ArrayList<>();
+        /*List<StockRealTimeBean> list = new ArrayList<>();
         try {
             Map<String, Object> paramMap = new HashMap<>();
 
@@ -347,6 +347,57 @@
             log.info("init US股票 数据 成功");
         } catch (Exception e) {
             log.error(e.getMessage(), e);
+        }*/
+        List<StockRealTimeBean> list = new ArrayList<>();
+        int totleStock = 1;
+        int page = 0;
+        try {
+            while (totleStock > list.size()) {
+                try {
+                    String result = HttpClientRequest.doGet(eStockType.stockUrl + "list?country_id=" + eStockType.getContryId() + "&size=100000&page=" + page + "&key=" + eStockType.stockKey);
+                    ReponseBase reponseBase = new Gson().fromJson(result, ReponseBase.class);
+                    list.addAll(reponseBase.getData());
+                    page++;
+                    totleStock = reponseBase.getTotal();
+                } catch (Exception e) {
+                    e.printStackTrace();
+                    break;
+                }
+            }
+            if (list.isEmpty()) {
+                return;
+            }
+
+            log.info("同步股票 获取数据 {}", list.size());
+            List<Realtime> realtimeList = new ArrayList<>();
+            for (StockRealTimeBean o : list) {
+                Realtime realtime = new Realtime();
+                realtime.setUuid(o.getId());
+                realtime.setSymbol(o.getSymbol());
+                realtime.setName(o.getName());
+                realtime.setClose(new BigDecimal(o.getLast().trim()).doubleValue());
+                realtime.setLow(new BigDecimal(o.getLow().trim()).doubleValue());
+                realtime.setHigh(new BigDecimal(o.getHigh().trim()).doubleValue());
+                realtime.setOpen(new BigDecimal(o.getOpen().trim()).doubleValue());
+                realtime.setPrevClose(new BigDecimal(o.getPrevClose().trim()).doubleValue());
+                realtime.setTs(Long.valueOf(o.getTime() + "000"));
+                realtime.setVolume(new BigDecimal(o.getVolume().trim()).doubleValue());
+                realtime.setNetChange(new BigDecimal(o.getChg().trim()).doubleValue());
+                realtime.setChangeRatio(new BigDecimal(o.getChgPct()).doubleValue());
+                realtime.setType(o.getType());
+                realtime.setBid(new BigDecimal(o.getBid()).doubleValue());
+                realtime.setAsk(new BigDecimal(o.getAsk()).doubleValue());
+
+                realtimeList.add(realtime);
+            }
+            realtimeList.sort(Comparator.comparing(Realtime::getChangeRatio).reversed());
+            log.info("同步股票 数据 成功 总共同步数据 {}",  realtimeList.size());
+            realtimeList.forEach(x -> {
+                System.out.println(x.getName() + "=====" + x.getChangeRatio());
+            });
+
+        } catch (Exception e) {
+            log.error("同步出错", e);
         }
     }
 

--
Gitblit v1.9.3