Merge remote-tracking branch 'origin/test'
This commit is contained in:
commit
a0d46ae8e5
@ -25,4 +25,13 @@ public interface IPageReq {
|
||||
default List<String> getSort() {
|
||||
return ImmutableList.of();
|
||||
}
|
||||
|
||||
/**
|
||||
* 部分分页不需要查询count,支持指定是否查询count
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
default Boolean isSearchCount() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@ -7,11 +7,15 @@ import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 如果作为接口调用的参数使用。建议使用{@link PageReqV2}。支持builder 模式构建参数,对参数构造更友好。
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PageReq implements IPageReq{
|
||||
@Deprecated
|
||||
public class PageReq implements IPageReq {
|
||||
Integer page;
|
||||
Integer pageSize;
|
||||
List<String> sort;
|
||||
|
||||
@ -0,0 +1,47 @@
|
||||
package cn.axzo.foundation.page;
|
||||
|
||||
import cn.axzo.foundation.dao.support.wrapper.CriteriaField;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
import org.apache.commons.lang3.BooleanUtils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 默认分页请求基类:
|
||||
* 1、支持builder方式构建参数。
|
||||
* 2、默认分页大小为1000。
|
||||
* 3、支持指定不分页。searchCount = false
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PageReqV2 implements IPageReq {
|
||||
private static final Integer DEFAULT_PAGE_SIZE_V2 = 1000;
|
||||
@CriteriaField(ignore = true)
|
||||
Integer page;
|
||||
@CriteriaField(ignore = true)
|
||||
Integer pageSize;
|
||||
@CriteriaField(ignore = true)
|
||||
Boolean searchCount;
|
||||
@CriteriaField(ignore = true)
|
||||
List<String> sort;
|
||||
|
||||
@Override
|
||||
public Integer getPage() {
|
||||
return page == null || page < 1 ? 1 : page;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getPageSize() {
|
||||
return pageSize == null || pageSize < 1 ? DEFAULT_PAGE_SIZE_V2 : pageSize;
|
||||
}
|
||||
|
||||
public Boolean isSearchCount() {
|
||||
// 只要不明确指定 searchCount = false,都要查count信息
|
||||
return BooleanUtils.isNotFalse(searchCount);
|
||||
}
|
||||
}
|
||||
@ -7,6 +7,7 @@ import cn.axzo.foundation.util.PageUtils;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.metadata.OrderItem;
|
||||
import lombok.experimental.UtilityClass;
|
||||
import org.apache.commons.lang3.BooleanUtils;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
@ -34,6 +35,7 @@ public class PageConverter {
|
||||
= new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(current, pageSize);
|
||||
List<OrderItem> orderItems = MybatisPlusConverterUtils.convertOrderItems(page.getSort(), entityClz);
|
||||
myBatisPage.setOrders(orderItems);
|
||||
myBatisPage.setSearchCount(BooleanUtils.isNotFalse(page.isSearchCount()));
|
||||
|
||||
return myBatisPage;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user