| | |
| | | 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.domain.Result; |
| | | import com.yami.trading.common.exception.YamiShopBindException; |
| | | import com.yami.trading.common.util.DateUtils; |
| | |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | @RestController |
| | |
| | | |
| | | } |
| | | if (StringUtils.isNotEmpty(news.getImgUrl())) { |
| | | news.setImgUrl(awsS3OSSFileService.getUrl(news.getImgUrl())); |
| | | news.setImgUrl(Constants.IMAGES_HTTP+news.getImgUrl()); |
| | | } |
| | | |
| | | return Result.succeed(news); |
| | |
| | | */ |
| | | @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)) { |
| | |
| | | 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)); |
| | |
| | | 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()); |
| | | } |
| | | |
| | | } |
| | |
| | | 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()); |
| | | } |
| | | |
| | | } |
| | |
| | | |
| | | 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(); |
| | |
| | | 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()); |
| | | } |
| | | |
| | | } |