package com.estate.expert.admin.domain.common.response;
|
|
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModelProperty;
|
import lombok.Data;
|
import org.springframework.data.domain.Page;
|
|
import java.util.List;
|
|
@ApiModel("分页响应")
|
@Data
|
public class PageResp<T> {
|
|
@ApiModelProperty("总页数")
|
private int totalPages;
|
|
@ApiModelProperty("总记录数")
|
private long totalElements;
|
|
@ApiModelProperty("每页大小")
|
private int pageSize;
|
|
@ApiModelProperty("当前页码, 从0开始")
|
private int number;
|
|
@ApiModelProperty("数据列表")
|
private List<T> list;
|
|
public PageResp(Page<?> page, List<T> list) {
|
this.totalPages = page.getTotalPages();
|
this.totalElements = page.getTotalElements();
|
this.pageSize = page.getSize();
|
this.number = page.getNumber();
|
this.list = list;
|
}
|
|
public PageResp(Page<T> page) {
|
this.totalPages = page.getTotalPages();
|
this.totalElements = page.getTotalElements();
|
this.pageSize = page.getSize();
|
this.number = page.getNumber();
|
this.list = page.getContent();
|
}
|
|
public PageResp(List<T> list) {
|
this.list = list;
|
this.totalPages = 1;
|
this.totalElements = list.size();
|
this.pageSize = list.size();
|
this.number = 0;
|
}
|
|
// of
|
public static <T> PageResp<T> of(Page<?> page, List<T> list) {
|
return new PageResp<>(page, list);
|
}
|
|
// of
|
public static <T> PageResp<T> of(Page<T> page) {
|
return new PageResp<>(page);
|
}
|
|
// of
|
public static <T> PageResp<T> of(List<T> list) {
|
return new PageResp<>(list);
|
}
|
|
|
// empty
|
public static <T> PageResp<T> empty() {
|
return new PageResp<>(Page.empty());
|
}
|
}
|