feat(dao-support、common): IPageReq,提供PageReqV2分页参数基类。
* 1、支持builder方式构建参数。 * 2、默认分页大小为1000。 * 3、支持指定不分页。searchCount = false
This commit is contained in:
parent
4cbad7cc24
commit
dcd4bd7412
@ -7,10 +7,14 @@ import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 如果作为接口调用的参数使用。建议使用{@link PageReqV2}。支持builder 模式构建参数,对参数构造更友好。
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Deprecated
|
||||
public class PageReq implements IPageReq {
|
||||
Integer page;
|
||||
Integer pageSize;
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user