From 513e5442723f501525bf9ca6210b16561e5d3a2b Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Tue, 24 Mar 2026 11:41:07 +0800
Subject: [PATCH] 1
---
trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiNewsController.java | 74 +++++++++++++++++++++++++++++-------
1 files changed, 59 insertions(+), 15 deletions(-)
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 321698f..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,13 +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;
@@ -18,6 +25,7 @@
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
@RestController
@@ -54,7 +62,7 @@
}
if (StringUtils.isNotEmpty(news.getImgUrl())) {
- news.setImgUrl(awsS3OSSFileService.getUrl(news.getImgUrl()));
+ news.setImgUrl(Constants.IMAGES_HTTP+news.getImgUrl());
}
return Result.succeed(news);
@@ -65,7 +73,8 @@
*/
@RequestMapping(action + "list.action")
public Object list(HttpServletRequest request) {
-
+ List<News> list = new ArrayList<>();
+ //return list;
String page_no = request.getParameter("page_no");
String language = request.getParameter("language");
if (StringUtils.isNullOrEmpty(page_no)) {
@@ -80,11 +89,16 @@
int page_no_int = Integer.valueOf(page_no).intValue();
Page<News> page = new Page<>(1, 1000000);
// List<News> list = this.newsService.cachePagedQuery(page_no_int, 20, language).getElements();
- LambdaQueryWrapper<News> lambdaQueryWrapper = Wrappers.<News>query().lambda().eq(News::getLanguage, language)
- .eq(News::isPopUp,false);
+ // 1. 获取当前时间(对应SQL中的NOW())
+ Date now = new Date();
+ LambdaQueryWrapper<News> lambdaQueryWrapper = Wrappers.<News>query().lambda()
+ .eq(News::getLanguage, language)
+ .eq(News::isPopUp,false)
+ .le(News::getStartTime, now)
+ .ge(News::getEndTime, now);
lambdaQueryWrapper.orderByDesc(News::getCreateTime);
newsService.page(page, lambdaQueryWrapper);
- List<News> list = page.getRecords();
+ list = page.getRecords();
if (list != null) {
for (int i = 0; i < list.size(); i++) {
list.get(i).setCreateTimeStr(DateUtils.format(list.get(i).getCreateTime(), DateUtils.DF_yyyyMMddHHmmss));
@@ -101,7 +115,7 @@
news.setShow(news.getUserId().equals(SecurityUtils.getCurrentUserId()));
}
if (StringUtils.isNotEmpty(news.getImgUrl())) {
- news.setImgUrl(awsS3OSSFileService.getUrl(news.getImgUrl()));
+ news.setImgUrl(Constants.IMAGES_HTTP+news.getImgUrl());
}
}
@@ -148,7 +162,7 @@
list.get(i).setCreateTimeStr(DateUtils.format(list.get(i).getCreateTime(), DateUtils.DF_yyyyMMddHHmmss));
News news = list.get(i);
if (StringUtils.isNotEmpty(news.getImgUrl())) {
- news.setImgUrl(awsS3OSSFileService.getUrl(news.getImgUrl()));
+ news.setImgUrl(Constants.IMAGES_HTTP+news.getImgUrl());
}
}
@@ -164,7 +178,7 @@
String page_no = request.getParameter("page_no");
String language = request.getParameter("language");
- String token = request.getParameter("token");
+ String partyId = request.getParameter("partyId");
if (StringUtils.isNullOrEmpty(page_no)) {
page_no = "1";
}
@@ -176,16 +190,28 @@
}
int page_no_int = Integer.valueOf(page_no).intValue();
List<News> list = new ArrayList<News>();
- if (StringUtils.isEmptyString(token)) {
- LambdaQueryWrapper<News> lambdaQueryWrapper = Wrappers.<News>query().lambda().eq(News::getLanguage, language).eq(News::isPopUp,
- true);
+ if(StringUtils.isNotEmpty(partyId)){
+ LambdaQueryWrapper<News> lambdaQueryWrapper = Wrappers.<News>query().lambda()
+ .eq(News::getLanguage, language)
+ .eq(News::isPopUp, true)
+ // 核心修改:外层and包裹,内部直接用or连接三个条件
+ .and(wrapper -> wrapper
+ .eq(News::getUserId, partyId) // 条件1:userId=partyId
+ .or().isNull(News::getUserId) // 条件2:userId=null
+ .or().eq(News::getUserId, "") // 条件3:userId=空字符串
+ );
Page<News> page = new Page<>(1, 1000000);
newsService.page(page, lambdaQueryWrapper);
list = page.getRecords();
} else {
- String partyId = SecurityUtils.getUser().getUserId();
- LambdaQueryWrapper<News> lambdaQueryWrapper = Wrappers.<News>query().lambda().eq(News::getLanguage, language).eq(News::isPopUp,
- true).eq(News::getUserId, partyId);
+ LambdaQueryWrapper<News> lambdaQueryWrapper = Wrappers.<News>query().lambda()
+ .eq(News::getLanguage, language)
+ .eq(News::isPopUp, true)
+ .and(wrapper -> wrapper
+ .isNull(News::getUserId) // 条件1:userId为null
+ .or() // 或者
+ .eq(News::getUserId, "") // 条件2:userId为空字符串
+ );
Page<News> page = new Page<>(1, 1000000);
newsService.page(page, lambdaQueryWrapper);
list = page.getRecords();
@@ -195,7 +221,7 @@
list.get(i).setCreateTimeStr(DateUtils.format(list.get(i).getCreateTime(), DateUtils.DF_yyyyMMddHHmmss));
News news = list.get(i);
if (StringUtils.isNotEmpty(news.getImgUrl())) {
- news.setImgUrl(awsS3OSSFileService.getUrl(news.getImgUrl()));
+ news.setImgUrl(Constants.IMAGES_HTTP+news.getImgUrl());
}
}
@@ -203,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;
+ }
+
}
--
Gitblit v1.9.3