首页 > 其他分享 >查询文章列表

查询文章列表

时间:2023-06-28 20:22:27浏览次数:36  
标签:heima lambdaQueryWrapper dto 查询 WmNews 文章 import 列表 com

package com.heima.wemedia.service.impl;


import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.heima.model.common.dtos.PageResponseResult;
import com.heima.model.common.dtos.ResponseResult;
import com.heima.model.wemedia.dtos.WmNewsPageReqDto;
import com.heima.model.wemedia.pojos.WmNews;
import com.heima.utils.common.thread.WmThreadLocalUtil;
import com.heima.wemedia.mapper.WmNewsMapper;
import com.heima.wemedia.service.WmNewsService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

@Service
@Slf4j
@Transactional
public class WmNewsServiceImpl  extends ServiceImpl<WmNewsMapper, WmNews> implements WmNewsService {


    /**
     * 条件查询文章列表
     * @param dto
     * @return
     */
    @Override
    public ResponseResult findList(WmNewsPageReqDto dto) {
        //1、检查参数
        //分页检查
        dto.checkParam();
        //2、分页条件查询
        IPage page = new Page(dto.getPage(), dto.getSize());
        LambdaQueryWrapper<WmNews> lambdaQueryWrapper = new LambdaQueryWrapper();
        //状态精确查询
        if(dto.getStatus() != null){
            lambdaQueryWrapper.eq(WmNews::getStatus, dto.getStatus());
        }
        //频道精确查询
        if(dto.getChannelId() != null){
            lambdaQueryWrapper.eq(WmNews::getChannelId, dto.getChannelId());
        }
        //时间范围查询
        if(dto.getBeginPubDate() != null && dto.getEndPubDate() != null){
            lambdaQueryWrapper.between(WmNews::getPublishTime, dto.getBeginPubDate(), dto.getEndPubDate());
        }
        //关键字模糊查询
        if(StringUtils.isNotBlank(dto.getKeyword())){
            lambdaQueryWrapper.like(WmNews::getTitle, dto.getKeyword());
        }
        //查询当前登录人的文章
        lambdaQueryWrapper.eq(WmNews::getUserId, WmThreadLocalUtil.getUser().getId());
        //按照发布时间倒叙
        lambdaQueryWrapper.orderByDesc(WmNews::getPublishTime);
        
        page = page(page, lambdaQueryWrapper);
        
        //3、结果返回
        ResponseResult responseResult = new PageResponseResult(dto.getPage(), dto.getSize(), (int)page.getTotal());
        responseResult.setData(page.getRecords());
        return responseResult;
    }
}

 

标签:heima,lambdaQueryWrapper,dto,查询,WmNews,文章,import,列表,com
From: https://www.cnblogs.com/fxzm/p/17512472.html

相关文章

  • 自媒体文章管理——频道列表查询
    packagecom.heima.wemedia.service.impl;importcom.baomidou.mybatisplus.extension.service.impl.ServiceImpl;importcom.heima.model.common.dtos.ResponseResult;importcom.heima.model.wemedia.pojos.WmChannel;importcom.heima.wemedia.mapper.WmChannelMapper......
  • 自媒体素材管理——分页查询图片素材
    /***素材列表查询*@paramdto*@return*/@OverridepublicResponseResultfindList(WmMaterialDtodto){//1、检查参数dto.checkParam();//2、分页查询IPagepage=newPage<>(dto.getPage(),dto.......
  • 【Oracle】使用PL/SQL快速查询出1-9数字
    【Oracle】使用PL/SQL快速查询出1-9数字简单来说,直接RecursiveWITHClauses在Oracle里面就直接使用WITHresult(参数)即可WITHresult(num)AS(SELECT1ASnumfromdualUNIONALLSELECTnum+1ASnumFROMresultWHEREnum<9)SELECTnumFROMresult......
  • 利用freemarker和minIO生成文章详情html并存入minIO
    packagecom.heima.article.test;importcom.alibaba.fastjson.JSONArray;importcom.baomidou.mybatisplus.core.toolkit.StringUtils;importcom.baomidou.mybatisplus.core.toolkit.Wrappers;importcom.heima.article.ArticleApplication;importcom.heima.article.......
  • 11-gorm-v2-03-基本查询
    @目录1.简单示例2.基本查询2.1获取第一条记录,按主键排序2.2获取一条记录,不指定排序2.3获取最后一条记录,按主键排序2.4获取所有的记录2.5通过主键进行查询(仅适用于主键是数字类型)2.6查询指定字段3.where3.1原生sql3.1.1简单使用3.1.2<>(不为)3.1.3IN3.1.4LIKE3.1.5......
  • 11-gorm-V2-04-高级查询
    @目录1.用Struct或Map接收数据1.1Find到Struct1.2Find到Map2.子查询3.Group/Having3.1Group完整示例3.2Having4.变量4.1使用sql.Named定义4.2使用map定义变量5.用Rows()迭代6.查钩子7.Pluck(单列查询)8.Scopes(调用查询函数)8.1使用8.2示例9.Count1.用Struct或Map......
  • 关于es查询的一些心得
    1.所需pom  org.elasticsearch 注意mapping映射2.需要判断索引是否存在3.es查询默认查询前10条,分页需要指定size4.有嵌套聚合查询时需要指定外层的size才能进行分页5.mysqllike=  wildcard*值*6.esgroupby自带排序(按照count从大到小排序)7.针对于string字段的查询......
  • U8 跑LRP列表清单无采购物料
    当在从销售订单转LRP物料需求时,会出现只物料只有委外和自制,无外购请求:原因如下:1.物料属性的默认属性不为采购,需要把计划默认属性改为采购。 二.我们跑需求时,该物料存在库存,所需求量为零时,请购上需求量为零的物料也显示列表,同时我们可以在物料需求列表中修改物料属性和需求量......
  • SQL查询日期
    SQL查询日期今天的所有数据:select*from表名whereDateDiff(dd,datetime类型字段,getdate())=0昨天的所有数据:select*from表名whereDateDiff(dd,datetime类型字段,getdate())=17天内的所有数据:select*from表名whereDateDiff(dd,datetime类型字段,getdate())<......
  • 前端自适应写法--媒体查询
    自适应一般什么rem,vw,vh这些单位注意一下。还有就是一些bootStrap什么的。在这里主要写一下媒体查询的方式。使用CSS中的媒体查询来根据不同的屏幕尺寸应用不同的样式。以下是如何使用媒体查询分别为320px-480px范围内、768px-1024px范围内和大于1024px的屏幕尺寸编写CSS样式:/*......