zyy
2025-07-21 f25b39e0d5fcae415a8824fc03d42fe681e96bf8
src/main/java/com/nq/service/impl/SiteNewsServiceImpl.java
@@ -4,7 +4,6 @@
import com.github.pagehelper.PageInfo;
import com.nq.common.ServerResponse;
import com.nq.dao.SiteNewsMapper;
import com.nq.enums.EStockType;
import com.nq.pojo.SiteNews;
import com.nq.service.ISiteNewsService;
import com.nq.utils.*;
@@ -24,6 +23,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 +133,22 @@
    @Override
    public void grabNews() {
        addNews(1, PropertiesUtil.getProperty("IN_NEW_HTTP_API") + "stock-markets?key=" + PropertiesUtil.getProperty("IN_NEW_KEY") + "&type=6");
        // 创建固定大小的线程池,根据需求调整线程数量
        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,7 +164,8 @@
                        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));
                        if(jsonObject.has("img")){
                            convertBase64ToImage(jsonObject.getString("img"),PropertiesUtil.getProperty("ftp.address")+newsId+".jpg");