@Override
public PageEntity<Book> queryPageBook(BookQueryDTO request) {
Assert.notNull(request.getPageCurrent(),"当前页不能为空");
Assert.notNull(request.getPageSize(),"页容量不能为空");
LambdaQueryWrapper<Book> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper
.eq(Book::getIsDelete,0)
.like(request.getCreator()!=null,Book::getCreator,request.getCreator())
.like(request.getBookName()!=null,Book::getBookName,request.getBookName());
IPage<Book> page = new Page<>(request.getPageCurrent(), request.getPageSize());
page = this.baseMapper.selectPage(page,queryWrapper);
PageEntity<Book> pageEntity = new PageEntity<>();
pageEntity.setList(page.getRecords());
pageEntity.setTotal(page.getTotal());
return pageEntity;
}
@Override
public PageRespDTO<XxRoleVo> queryPageList(XxRoleQueryDto param) {
Assert.notNull(param.getPageCurrent(), "当前页不能为空");
Assert.notNull(param.getPageSize(), "页容量不能为空");
//设置起始页以及每页显示数
PageHelper.startPage(param.getPageCurrent(), param.getPageSize());
//查询全部数据
List<RoleEntity> list = roleMapper.queryPageList(param);
//数据格式转换
List<XxRoleVo> xxRoleVos = ModelMapperUtil.strictMapList(list, XxRoleVo.class);
PageInfo<XxRoleVo> pageInfo = new PageInfo<>(xxRoleVos);
return PageRespDTO.pageByPageInfo(pageInfo);
}
public class PageRespDTO<T> implements Serializable {
private static final long serialVersionUID = 6863753967348644413L;
@ApiModelProperty("数据")
private List<T> data;
@ApiModelProperty("分页页码")
private Integer pageNum;
@ApiModelProperty("分页大小")
private Integer pageSize;
@ApiModelProperty("总条数")
private Long totalSize;
@ApiModelProperty("总页数")
private Long totalPage;
//PageRespDTO.pageByPageInfo(pageInfo)方法
public static <T> PageRespDTO<T> pageByPageInfo(PageInfo<T> pageInfo) {
PageRespDTO<T> dto = new PageRespDTO();
if (pageInfo == null) {
dto.setData(new ArrayList());
dto.setPageNum(1);
dto.setPageSize(20);
dto.setTotalSize(0L);
} else {
dto.setData(pageInfo.getList());
dto.setPageNum(pageInfo.getPageNum());
dto.setPageSize(pageInfo.getPageSize());
dto.setTotalSize(pageInfo.getTotal());
}
dto.setTotalPage();
return dto;
}
}