新版仿ok交易所-后端
zyy
2026-01-23 9ac7f3d21d5ff7b144a8a20720d781c8f3f450a5
trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiNewsController.java
@@ -109,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());
                }
            }
@@ -172,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";
        }
@@ -184,16 +184,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();