update demo
This commit is contained in:
parent
0c66ff8524
commit
6e09a9bd6c
|
@ -39,4 +39,10 @@
|
|||
"data": "小奏",
|
||||
"msg": "success"
|
||||
}
|
||||
```
|
||||
```
|
||||
|
||||
### 提供开箱即用的分页对象
|
||||
- [NebulaPage.java](spring-boot-nebula-web%2Fsrc%2Fmain%2Fjava%2Fcom%2Fnebula%2Fweb%2Fboot%2Fapi%2FNebulaPage.java)
|
||||
- [NebulaPageQuery.java](spring-boot-nebula-web%2Fsrc%2Fmain%2Fjava%2Fcom%2Fnebula%2Fweb%2Fboot%2Fapi%2FNebulaPageQuery.java)
|
||||
|
||||
使用
|
||||
|
|
|
@ -0,0 +1,95 @@
|
|||
package com.nebula.web.boot.api;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author : wh
|
||||
* @date : 2023/8/16 10:02
|
||||
* @description: 基础分页对象
|
||||
*/
|
||||
public class NebulaPage<T> {
|
||||
|
||||
private long totalCount = 0;
|
||||
|
||||
private int pageSize = 1;
|
||||
|
||||
private Collection<T> list;
|
||||
|
||||
public long getTotalCount() {
|
||||
return totalCount;
|
||||
}
|
||||
|
||||
public void setTotalCount(long totalCount) {
|
||||
this.totalCount = totalCount;
|
||||
}
|
||||
|
||||
public int getPageSize() {
|
||||
if (pageSize < 1) {
|
||||
return 1;
|
||||
}
|
||||
return pageSize;
|
||||
}
|
||||
|
||||
public void setPageSize(int pageSize) {
|
||||
if (pageSize < 1) {
|
||||
this.pageSize = 1;
|
||||
} else {
|
||||
this.pageSize = pageSize;
|
||||
}
|
||||
}
|
||||
|
||||
public Collection<T> getList() {
|
||||
return list;
|
||||
}
|
||||
|
||||
public void setList(Collection<T> list) {
|
||||
this.list = list;
|
||||
}
|
||||
|
||||
/**
|
||||
* 构造器
|
||||
*
|
||||
* @param list
|
||||
* @param total
|
||||
* @param pageSize
|
||||
* @param <T>
|
||||
* @return
|
||||
*/
|
||||
public static <T> NebulaPage<T> of(Collection<T> list, long total, int pageSize) {
|
||||
NebulaPage<T> page = new NebulaPage<>();
|
||||
page.setList(list);
|
||||
page.setTotalCount(total);
|
||||
page.setPageSize(pageSize);
|
||||
return page;
|
||||
}
|
||||
|
||||
/**
|
||||
* 内存分页
|
||||
*
|
||||
* @param list
|
||||
* @param pageQuery
|
||||
* @param <T>
|
||||
* @return
|
||||
*/
|
||||
public static <T> NebulaPage<T> ofMemory(Collection<T> list, NebulaPageQuery pageQuery) {
|
||||
List<T> pageList = list.stream().skip((long) (pageQuery.getPageIndex() - 1) * pageQuery.getPageSize())
|
||||
.limit(pageQuery.getPageSize()).collect(Collectors.toList());
|
||||
NebulaPage<T> page = new NebulaPage<>();
|
||||
page.setList(pageList);
|
||||
page.setTotalCount(list.size());
|
||||
page.setPageSize(pageQuery.getPageSize());
|
||||
return page;
|
||||
}
|
||||
|
||||
public static <T, R> NebulaPage<R> copy(NebulaPage<T> source, Function<T, R> converterFunction) {
|
||||
NebulaPage<R> Page = new NebulaPage<>();
|
||||
Page.setList(source.getList().stream().map(converterFunction).collect(Collectors.toList()));
|
||||
Page.setTotalCount(source.getTotalCount());
|
||||
Page.setPageSize(source.getPageSize());
|
||||
return Page;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,90 @@
|
|||
package com.nebula.web.boot.api;
|
||||
|
||||
/**
|
||||
* @author : wh
|
||||
* @date : 2023/8/16 10:04
|
||||
* @description:
|
||||
*/
|
||||
public abstract class NebulaPageQuery {
|
||||
|
||||
public static final String ASC = "ASC";
|
||||
|
||||
public static final String DESC = "DESC";
|
||||
|
||||
private static final int DEFAULT_PAGE_SIZE = 20;
|
||||
|
||||
private Integer pageSize = DEFAULT_PAGE_SIZE;
|
||||
|
||||
private Integer pageIndex = 1;
|
||||
|
||||
private String orderBy;
|
||||
|
||||
private String orderDirection = DESC;
|
||||
|
||||
private String groupBy;
|
||||
|
||||
private boolean needTotalCount = true;
|
||||
|
||||
public int getPageIndex() {
|
||||
if (pageIndex < 1) {
|
||||
return 1;
|
||||
}
|
||||
return pageIndex;
|
||||
}
|
||||
|
||||
public void setPageIndex(int pageIndex) {
|
||||
this.pageIndex = pageIndex;
|
||||
}
|
||||
|
||||
public int getPageSize() {
|
||||
if (pageSize < 1) {
|
||||
pageSize = DEFAULT_PAGE_SIZE;
|
||||
}
|
||||
return pageSize;
|
||||
}
|
||||
|
||||
public void setPageSize(int pageSize) {
|
||||
if (pageSize < 1) {
|
||||
pageSize = DEFAULT_PAGE_SIZE;
|
||||
}
|
||||
this.pageSize = pageSize;
|
||||
}
|
||||
|
||||
public int getOffset() {
|
||||
return (getPageIndex() - 1) * getPageSize();
|
||||
}
|
||||
|
||||
public String getOrderBy() {
|
||||
return orderBy;
|
||||
}
|
||||
|
||||
public void setOrderBy(String orderBy) {
|
||||
this.orderBy = orderBy;
|
||||
}
|
||||
|
||||
public String getOrderDirection() {
|
||||
return orderDirection;
|
||||
}
|
||||
|
||||
public void setOrderDirection(String orderDirection) {
|
||||
if (ASC.equalsIgnoreCase(orderDirection) || DESC.equalsIgnoreCase(orderDirection)) {
|
||||
this.orderDirection = orderDirection;
|
||||
}
|
||||
}
|
||||
|
||||
public String getGroupBy() {
|
||||
return groupBy;
|
||||
}
|
||||
|
||||
public void setGroupBy(String groupBy) {
|
||||
this.groupBy = groupBy;
|
||||
}
|
||||
|
||||
public boolean isNeedTotalCount() {
|
||||
return needTotalCount;
|
||||
}
|
||||
|
||||
public void setNeedTotalCount(boolean needTotalCount) {
|
||||
this.needTotalCount = needTotalCount;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue