package com.xly.erp.common.response;
import java.io.Serializable;
import java.util.List;
/**
* 通用分页响应体(docs/04 § 1.4 / § 3.2 SSoT)。
*
*
REQ-USR-003 T1【本 REQ 新增公共契约】。分页接口统一返回 {@code Result>},
* 含当前页数据 {@code records}、真实总记录数 {@code total}、当前页号 {@code pageNum}
* (数据越界钳制后的实际页号)、每页条数 {@code pageSize}。后续分页 REQ 复用。
*
* @param 当前页元素类型
*/
public class PageResult implements Serializable {
private static final long serialVersionUID = 1L;
/** 当前页数据。 */
private List records;
/** 真实总记录数。 */
private long total;
/** 当前页号(数据越界钳制后的实际页号)。 */
private long pageNum;
/** 每页条数。 */
private long pageSize;
public PageResult() {
}
public PageResult(List records, long total, long pageNum, long pageSize) {
this.records = records;
this.total = total;
this.pageNum = pageNum;
this.pageSize = pageSize;
}
/**
* 静态工厂:从分页要素装配。
*/
public static PageResult of(List records, long total, long pageNum, long pageSize) {
return new PageResult<>(records, total, pageNum, pageSize);
}
public List getRecords() {
return records;
}
public void setRecords(List records) {
this.records = records;
}
public long getTotal() {
return total;
}
public void setTotal(long total) {
this.total = total;
}
public long getPageNum() {
return pageNum;
}
public void setPageNum(long pageNum) {
this.pageNum = pageNum;
}
public long getPageSize() {
return pageSize;
}
public void setPageSize(long pageSize) {
this.pageSize = pageSize;
}
}