package com.nq.vo.stock; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.OrderItem; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; @Data @Builder @AllArgsConstructor @NoArgsConstructor public class PageQuery { private Long pageNo; private Long pageSize; private String sortBy; private Boolean isAsc; public Page toMpPage(OrderItem ... items){ // 1.分页条件 Page page = Page.of(pageNo, pageSize); // 2.排序条件 if(StrUtil.isNotBlank(sortBy)){ // 不为空 OrderItem orderItem=new OrderItem(); //排序方式 orderItem.setAsc(isAsc); //排序字段 orderItem.setColumn(sortBy); page.addOrder(orderItem); }else if(items != null){ // 为空,默认排序 page.addOrder(items); } return page; } public Page toMpPage(String defaultSortBy, boolean isAsc){ OrderItem orderItem=new OrderItem(); //排序方式 orderItem.setAsc(isAsc); //排序字段 orderItem.setColumn(defaultSortBy); return this.toMpPage(orderItem); } public Page toMpPageDefaultSortByCreateTimeDesc() { return toMpPage("create_time", false); } public Page toMpPageDefaultSortByUpdateTimeDesc() { return toMpPage("update_time", false); } }