| | |
| | | |
| | | 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"; |
| | | } |
| | |
| | | } |
| | | 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(); |