PageResult.java
1.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
package com.xly.erp.common.response;
import java.io.Serializable;
import java.util.List;
/**
* 通用分页响应体(docs/04 § 1.4 / § 3.2 SSoT)。
*
* <p>REQ-USR-003 T1【本 REQ 新增公共契约】。分页接口统一返回 {@code Result<PageResult<T>>},
* 含当前页数据 {@code records}、真实总记录数 {@code total}、当前页号 {@code pageNum}
* (数据越界钳制后的实际页号)、每页条数 {@code pageSize}。后续分页 REQ 复用。</p>
*
* @param <T> 当前页元素类型
*/
public class PageResult<T> implements Serializable {
private static final long serialVersionUID = 1L;
/** 当前页数据。 */
private List<T> records;
/** 真实总记录数。 */
private long total;
/** 当前页号(数据越界钳制后的实际页号)。 */
private long pageNum;
/** 每页条数。 */
private long pageSize;
public PageResult() {
}
public PageResult(List<T> records, long total, long pageNum, long pageSize) {
this.records = records;
this.total = total;
this.pageNum = pageNum;
this.pageSize = pageSize;
}
/**
* 静态工厂:从分页要素装配。
*/
public static <T> PageResult<T> of(List<T> records, long total, long pageNum, long pageSize) {
return new PageResult<>(records, total, pageNum, pageSize);
}
public List<T> getRecords() {
return records;
}
public void setRecords(List<T> 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;
}
}