dsl查询queryResults转page

@Data
public class RestPage<T> implements Serializable {
    /**
     *
     */
    private static final long serialVersionUID = 1L;
    //元素内容
    private List<T> content;
    //是否有上一页
    private boolean first;
    //是否有下一页
    private boolean last;
    //当前页
    private int number;
    //当页条数
    private int numberOfElements;
    //页大小
    private int size;
    //总条数
    private long totalElements;
    //总页数
    private int totalPages;

    public RestPage() {

    }

    @SuppressWarnings({"rawtypes", "unchecked"})
    public RestPage(Page page) {
        this.content = page.getContent();
        this.first = page.isFirst();
        this.last = page.isLast();
        this.number = page.getNumber();
        this.numberOfElements = page.getNumberOfElements();
        this.size = page.getSize();
        this.totalElements = page.getTotalElements();
        this.totalPages = page.getTotalPages();
    }

    @SuppressWarnings({"rawtypes", "unchecked"})
    public RestPage(Page page, List content) {
        this.content = content;
        this.first = page.isFirst();
        this.last = page.isLast();
        this.number = page.getNumber();
        this.numberOfElements = page.getNumberOfElements();
        this.size = page.getSize();
        this.totalElements = page.getTotalElements();
        this.totalPages = page.getTotalPages();
    }


    public RestPage(QueryResults queryResults) {

        //当前页
        long currenPage = queryResults.getOffset()/queryResults.getLimit();

        //总页数
        long PageCount = queryResults.getTotal()%queryResults.getLimit() == 0?queryResults.getTotal()/queryResults.getLimit():queryResults.getTotal()/queryResults.getLimit()+1;

        //是否有上一页
        Boolean queryResultsIsFirst = currenPage==0?false:true;
        //是否有下一页
        Boolean queryResultsIsLast = currenPage+1<PageCount?true:false;

        this.content = queryResults.getResults();
        this.first = queryResultsIsFirst;
        this.last = queryResultsIsLast;
        this.number = (int)currenPage;
        this.numberOfElements = queryResults.getResults().size();
        this.size = (int)queryResults.getLimit();
        this.totalElements = queryResults.getTotal();
        this.totalPages = (int)PageCount;
    }


    public RestPage(QueryResults queryResults,List content) {

        //当前页
        long currenPage = queryResults.getOffset()/queryResults.getLimit();

        //总页数
        long PageCount = queryResults.getTotal()%queryResults.getLimit() == 0?queryResults.getTotal()/queryResults.getLimit():queryResults.getTotal()/queryResults.getLimit()+1;

        //是否有上一页
        Boolean queryResultsIsFirst = currenPage==0?false:true;
        //是否有下一页
        Boolean queryResultsIsLast = currenPage+1<PageCount?true:false;

        this.content = content;
        this.first = queryResultsIsFirst;
        this.last = queryResultsIsLast;
        this.number = (int)currenPage;
        this.numberOfElements = queryResults.getResults().size();
        this.size = (int)queryResults.getLimit();
        this.totalElements = queryResults.getTotal();
        this.totalPages = (int)PageCount;
    }

}

posted @ 2022-08-27 23:38  Arborblog  阅读(74)  评论(0编辑  收藏  举报