From 9fa09b7700040b6cf416081ba0edfcfb72219b16 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Thu, 05 Mar 2026 18:43:26 +0800
Subject: [PATCH] 1
---
trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiNewsController.java | 24 ++++++++++++
trading-order-admin/src/main/java/com/yami/trading/admin/task/NewsTask.java | 64 ++++++++++++++++++++++++++++++++
trading-order-common/src/main/java/com/yami/trading/common/constants/RedisKeys.java | 5 ++
trading-order-security-common/src/main/java/com/yami/trading/security/common/adapter/ResourceServerAdapter.java | 1
4 files changed, 94 insertions(+), 0 deletions(-)
diff --git a/trading-order-admin/src/main/java/com/yami/trading/admin/task/NewsTask.java b/trading-order-admin/src/main/java/com/yami/trading/admin/task/NewsTask.java
new file mode 100644
index 0000000..e5a1b53
--- /dev/null
+++ b/trading-order-admin/src/main/java/com/yami/trading/admin/task/NewsTask.java
@@ -0,0 +1,64 @@
+package com.yami.trading.admin.task;
+
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.yami.trading.bean.cms.News;
+import com.yami.trading.bean.data.domain.Depth;
+import com.yami.trading.bean.data.domain.DepthEntry;
+import com.yami.trading.bean.data.domain.Kline;
+import com.yami.trading.bean.item.domain.Item;
+import com.yami.trading.common.constants.ContractRedisKeys;
+import com.yami.trading.common.constants.RedisKeys;
+import com.yami.trading.common.util.RedisUtil;
+import com.yami.trading.huobi.hobi.Config;
+import com.yami.trading.huobi.hobi.http.HttpHelper;
+import com.yami.trading.huobi.hobi.http.HttpMethodType;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+
+@Component
+@Slf4j
+public class NewsTask {
+
+
+
+ @Scheduled(cron = "0 */30 * * * ?")
+ public void test() throws Exception {
+ try {
+ String result = HttpHelper.getJSONFromHttp("https://newsapi.org/v2/top-headlines?country=us&category=business&apiKey=f39cfa8922534af295491f38f664ea3d", null, HttpMethodType.GET);
+ JSONObject resultJson = JSON.parseObject(result);
+ String status = resultJson.getString("status");
+ if ("ok".equals(status)) {
+ RedisUtil.set(RedisKeys.NEWS_TOP_HEADLINES, resultJson);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ void getNews() {
+ try {
+ String result = HttpHelper.getJSONFromHttp("https://newsapi.org/v2/top-headlines?country=us&category=business&apiKey=f39cfa8922534af295491f38f664ea3d", null, HttpMethodType.GET);
+ JSONObject resultJson = JSON.parseObject(result);
+ String status = resultJson.getString("status");
+ if ("ok".equals(status)) {
+ RedisUtil.set(RedisKeys.NEWS_TOP_HEADLINES, resultJson);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ public static void main(String[] args) {
+ NewsTask task = new NewsTask();
+ task.getNews();
+ }
+}
diff --git a/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiNewsController.java b/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiNewsController.java
index bbe947c..cc75590 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiNewsController.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiNewsController.java
@@ -1,14 +1,20 @@
package com.yami.trading.api.controller;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yami.trading.bean.cms.News;
import com.yami.trading.common.constants.Constants;
+import com.yami.trading.common.constants.RedisKeys;
import com.yami.trading.common.domain.Result;
import com.yami.trading.common.exception.YamiShopBindException;
import com.yami.trading.common.util.DateUtils;
+import com.yami.trading.common.util.RedisUtil;
import com.yami.trading.common.util.StringUtils;
+import com.yami.trading.huobi.hobi.http.HttpHelper;
+import com.yami.trading.huobi.hobi.http.HttpMethodType;
import com.yami.trading.security.common.util.SecurityUtils;
import com.yami.trading.service.AwsS3OSSFileService;
import com.yami.trading.service.cms.NewsSerivce;
@@ -223,4 +229,22 @@
return Result.succeed(list);
}
+ /**
+ * 获取 新闻 列表
+ */
+ @RequestMapping(action + "getUsHeadNews.action")
+ public Object getUsHeadNews(HttpServletRequest request) {
+ JSONObject jsonObject = RedisUtil.get(RedisKeys.NEWS_TOP_HEADLINES);
+ if (jsonObject == null || jsonObject.isEmpty()) {
+ String result = HttpHelper.getJSONFromHttp("https://newsapi.org/v2/top-headlines?country=us&category=business&apiKey=f39cfa8922534af295491f38f664ea3d", null, HttpMethodType.GET);
+ JSONObject resultJson = JSON.parseObject(result);
+ String status = resultJson.getString("status");
+ if ("ok".equals(status)) {
+ RedisUtil.set(RedisKeys.NEWS_TOP_HEADLINES, resultJson);
+ jsonObject = resultJson;
+ }
+ }
+ return jsonObject;
+ }
+
}
diff --git a/trading-order-common/src/main/java/com/yami/trading/common/constants/RedisKeys.java b/trading-order-common/src/main/java/com/yami/trading/common/constants/RedisKeys.java
index 0dd4071..e4c9ebe 100644
--- a/trading-order-common/src/main/java/com/yami/trading/common/constants/RedisKeys.java
+++ b/trading-order-common/src/main/java/com/yami/trading/common/constants/RedisKeys.java
@@ -190,6 +190,11 @@
public final static String NEWS_LANGUAGE = "NEWS_LANGUAGE_";
/**
+ * us头条新闻
+ */
+ public final static String NEWS_TOP_HEADLINES = "NEWS_TOP_HEADLINES";
+
+ /**
* 充提日志,orderno做key
*/
public final static String WALLET_LOG_ORDERNO = "WALLET_LOG_ORDERNO_";
diff --git a/trading-order-security-common/src/main/java/com/yami/trading/security/common/adapter/ResourceServerAdapter.java b/trading-order-security-common/src/main/java/com/yami/trading/security/common/adapter/ResourceServerAdapter.java
index 9ba8709..ae3a5ea 100644
--- a/trading-order-security-common/src/main/java/com/yami/trading/security/common/adapter/ResourceServerAdapter.java
+++ b/trading-order-security-common/src/main/java/com/yami/trading/security/common/adapter/ResourceServerAdapter.java
@@ -63,6 +63,7 @@
"/api/banner!list.action",
"/api/news!list_v2_popup.action",
"/api/news!list.action",
+ "/api/news!getUsHeadNews.action",
"/api/authorizedLogin",
"/api/channelBlockchain!rechargeCallback.action",
"/api/withdraw/withdrawCallback.action"
--
Gitblit v1.9.3