package cn.cslg.pas.common; import com.github.pagehelper.PageInfo; import lombok.Data; import java.io.Serializable; import java.util.List; /** * 把封装着分页查询结果和分页信息的PageInfo类转换为本类并返回给前端(本类应和Page\PageInfo一样,既包含分页查询结果又包含分页信息) * * @Author chenyu * @Date 2023/2/16 */ @Data public class JsonPage implements Serializable { /** * 总页数 */ private Integer totalCurrents; /** * 总条数 */ private Long totalSizes; /** * 当前页 (页码) */ private Integer current; /** * 每页条数 */ private Integer size; /** * 分页查询结果 */ private List list; // 下面要编写一个能够将PageInfo类型对象转换为JsonPage类型对象的方法 // 如果需要将其他类型对象转换为JsonPage(例如SpringData的Page类型),另外编写方法即可 public static JsonPage restPage(PageInfo pageInfo) { // 所谓转换的意思就是将pageInfo对象中的信息,赋值给JsonPage类型 JsonPage result = new JsonPage(); // 因为PageInfo和JsonPage同名属性较少,所以手动赋值 result.setTotalSizes(pageInfo.getTotal()); result.setTotalCurrents(pageInfo.getPages()); result.setCurrent(pageInfo.getPageNum()); result.setSize(pageInfo.getPageSize()); // 别忘了最后的分页数据 result.setList(pageInfo.getList()); // 最后返回JsonPage类型对象result return result; } }