From 8c0ab1b0ecd90a4b03200485ff33f6194a4b1e07 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Tue, 15 Jul 2025 20:21:55 +0800
Subject: [PATCH] 计算持仓市值收益

---
 src/main/java/com/nq/service/impl/SiteNewsServiceImpl.java |   27 ++++++++++++++++++++++++---
 1 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/nq/service/impl/SiteNewsServiceImpl.java b/src/main/java/com/nq/service/impl/SiteNewsServiceImpl.java
index 36279ac..6c6f172 100644
--- a/src/main/java/com/nq/service/impl/SiteNewsServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/SiteNewsServiceImpl.java
@@ -24,6 +24,8 @@
 import java.util.Base64;
 import java.util.Date;
 import java.util.List;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
 
 /**
  * 新闻资讯
@@ -132,7 +134,22 @@
 
     @Override
     public void grabNews() {
-        addNews(1, EStockType.IN.getStockUrl() + "stock-markets?key=" + EStockType.IN.getStockKey() + "&type=4");
+        // 创建固定大小的线程池,根据需求调整线程数量
+        ExecutorService executor = Executors.newFixedThreadPool(2);
+        try {
+            // 提交美国新闻抓取任务
+            executor.submit(() ->
+                    addNews(1, PropertiesUtil.getProperty("US_HTTP_API") + "stock-markets?key=" + PropertiesUtil.getProperty("US_KEY") + "&type=1")
+            );
+            // 提交墨西哥新闻抓取任务
+            executor.submit(() ->
+                    addNews(1, PropertiesUtil.getProperty("MX_HTTP_API") + "stock-markets?key=" + PropertiesUtil.getProperty("MX_KEY") + "&type=1")
+            );
+        } finally {
+            // 关闭线程池
+            executor.shutdown();
+        }
+
     }
 
     private void addNews(Integer type, String url) {
@@ -148,9 +165,13 @@
                         siteNews.setSourceId(newsId);
                         siteNews.setSourceName("");
                         siteNews.setTitle(jsonObject.getString("title"));
-                        Long showTime = jsonObject.getLong("time");
+                        //Long showTime = jsonObject.getLong("time");
+                        long showTime = jsonObject.optLong("time", System.currentTimeMillis() / 1000); // 默认值,表示未找到或转换失败
                         siteNews.setShowTime(new Date(showTime * 1000));
-                        siteNews.setImgurl(jsonObject.getString("img"));
+                        if(jsonObject.has("img")){
+                            convertBase64ToImage(jsonObject.getString("img"),PropertiesUtil.getProperty("ftp.address")+newsId+".jpg");
+                            siteNews.setImgurl(PropertiesUtil.getProperty("ftp.server.http.prefix")+newsId+".jpg");
+                        }
                         siteNews.setDescription(jsonObject.getString("content"));
                         siteNews.setContent(jsonObject.getString("content"));
                         siteNews.setStatus(1);

--
Gitblit v1.9.3