trading-order-admin/src/main/java/com/yami/trading/admin/task/NewsTask.java
New file @@ -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(); } } 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; } } 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_"; 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"