From 5b6a4a679d05b198be4730f6f10620be330c2861 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Thu, 22 Jan 2026 17:18:43 +0800
Subject: [PATCH] 新闻弹窗

---
 trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiNewsController.java |   51 ++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 36 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 5ad71e5..cf85675 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
@@ -19,6 +19,7 @@
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 @RestController
@@ -55,7 +56,7 @@
 
         }
         if (StringUtils.isNotEmpty(news.getImgUrl())) {
-            news.setImgUrl(awsS3OSSFileService.getUrl(news.getImgUrl()));
+            news.setImgUrl(Constants.IMAGES_HTTP+news.getImgUrl());
         }
 
         return Result.succeed(news);
@@ -66,7 +67,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)) {
@@ -81,11 +83,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));
@@ -102,7 +109,7 @@
                     news.setShow(news.getUserId().equals(SecurityUtils.getCurrentUserId()));
                 }
                 if (StringUtils.isNotEmpty(news.getImgUrl())) {
-                    news.setImgUrl(news.getImgUrl());
+                    news.setImgUrl(Constants.IMAGES_HTTP+news.getImgUrl());
                 }
 
             }
@@ -149,7 +156,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());
                 }
 
             }
@@ -165,7 +172,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";
         }
@@ -177,16 +184,30 @@
         }
         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);
+            System.out.println(lambdaQueryWrapper.getSqlSegment());
             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为空字符串
+                    );
+            System.out.println(lambdaQueryWrapper.getSqlSegment());
             Page<News> page = new Page<>(1, 1000000);
             newsService.page(page, lambdaQueryWrapper);
             list = page.getRecords();
@@ -196,7 +217,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());
                 }
 
             }

--
Gitblit v1.9.3