aijinhui
2024-01-14 e9582af916d019c4695b0aaf9665039be1bd6ea1
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
package com.ruoyi.utils.pagehelper;
 
import java.util.List;
/**
 * @Description: 分页信息类
 * @ClassName: JpaPageInfo
 * @Author: 刘苏义
 * @Date: 2023年07月31日10:42:40
 * @Version: 1.0
 **/
public class JpaPageInfo {
    private int totalPage;
    private int pageSize;
    private int pageNum;
    private int total;
    private boolean isFirstPage;
    private boolean isLastPage;
    private boolean hasPreviousPage;
    private boolean hasNextPage;
    private List<?> list;
 
    public JpaPageInfo() {
 
    }
 
    public JpaPageInfo(List list) {
        this.pageNum = JpaPageHelper.pageNum;
        this.pageSize = JpaPageHelper.pageSize;
        this.doPage(list);
        JpaPageHelper.pageNum = 0;
        JpaPageHelper.pageSize = 0;
    }
 
    public void doPage(List list) {
        if (this.pageSize == 0) {
            this.pageSize = 10;
        }
        this.total = list.size();
 
        this.totalPage = list.size() / this.pageSize;
        if (list.size() % this.pageSize != 0) {
            this.totalPage++;
        }
        if (this.pageNum * this.pageSize > list.size()) {
            this.pageNum = this.totalPage;
        }
        if (this.pageNum <= 0) {
            this.pageNum = 1;
        }
        int fromIndex = (pageNum - 1) * this.pageSize;
        int toIndex = pageNum * pageSize;
        this.isFirstPage = fromIndex == 0;
        this.hasPreviousPage = !this.isFirstPage;
        this.isLastPage = toIndex >= list.size();
        if (this.isLastPage) {
            toIndex = list.size();
        }
        this.hasNextPage = !this.isLastPage;
 
        this.list = list.subList(fromIndex, toIndex);
 
    }
 
    public int getTotalPage() {
        return totalPage;
    }
 
    public void setTotalPage(int totalPage) {
        this.totalPage = totalPage;
    }
 
    public int getPageSize() {
        return pageSize;
    }
 
    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }
 
    public int getPageNum() {
        return pageNum;
    }
 
    public void setPageNum(int pageNum) {
        this.pageNum = pageNum;
    }
 
    public int getTotal() {
        return total;
    }
 
    public void setTotal(int total) {
        this.total = total;
    }
 
    public boolean isFirstPage() {
        return isFirstPage;
    }
 
    public void setFirstPage(boolean firstPage) {
        isFirstPage = firstPage;
    }
 
    public boolean isLastPage() {
        return isLastPage;
    }
 
    public void setLastPage(boolean lastPage) {
        isLastPage = lastPage;
    }
 
    public boolean isHasPreviousPage() {
        return hasPreviousPage;
    }
 
    public void setHasPreviousPage(boolean hasPreviousPage) {
        this.hasPreviousPage = hasPreviousPage;
    }
 
    public boolean isHasNextPage() {
        return hasNextPage;
    }
 
    public void setHasNextPage(boolean hasNextPage) {
        this.hasNextPage = hasNextPage;
    }
 
    public List<?> getList() {
        return list;
    }
 
    public void setList(List<?> list) {
        this.list = list;
    }
}