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 <T> Page<T> toMpPage(OrderItem ... items){
|
// 1.分页条件
|
Page<T> 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 <T> Page<T> toMpPage(String defaultSortBy, boolean isAsc){
|
OrderItem orderItem=new OrderItem();
|
//排序方式
|
orderItem.setAsc(isAsc);
|
//排序字段
|
orderItem.setColumn(defaultSortBy);
|
return this.toMpPage(orderItem);
|
}
|
|
public <T> Page<T> toMpPageDefaultSortByCreateTimeDesc() {
|
return toMpPage("create_time", false);
|
}
|
|
public <T> Page<T> toMpPageDefaultSortByUpdateTimeDesc() {
|
return toMpPage("update_time", false);
|
}
|
}
|