jiazx0107@163.com
2023-05-17 620eab6cca2bc9ef9ea6d3067a0a5ba1deadbd1c
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
package com.ld.igds.data;
 
import com.baomidou.mybatisplus.plugins.Page;
 
import java.io.Serializable;
import java.util.Collection;
import java.util.List;
 
/**
 * 对Page<E>结果进行包装
 * 
 * 之所以进行封装是因为LayUI中不管分页与否获取数据,都需要一个完整的格式返回。 LAYUI中要求查询数据必须封装为: {
 * code:0,msg:"",count:1000,data:[] }
 * 
 *
 */
public class LayPage<T> implements Serializable {
 
    private static final long serialVersionUID = 1L;
    // 当前页
    private int curr;
    // 每页的数量
    private int limit;
    // 总记录数
    private long count;
    // 总页数
    private int pages;
    // 结果集
    private List<T> data;
    // 是否为第一页
    private boolean isFirstPage = false;
    // 是否为最后一页
    private boolean isLastPage = false;
 
    // LayUI中的必须返回的结果编码 0表示成功。
    private int code = 0;
    // LayUI中异常信息。
    private String msg;
 
    public LayPage() {
        super();
        this.count = 0;
        this.curr = 1;
        this.code = 0;
        this.msg ="无数据";
    }
 
    /**
     * 包装Page对象
     *
     * @param list
     */
    public LayPage(List<T> list) {
        super();
        if (null == list || list.isEmpty()) {
            this.count = 0;
            this.curr = 1;
            this.code = 0;
            this.msg ="无数据";
        }
        if (list instanceof Collection) {
            this.curr = 1;
            this.limit = list.size();
 
            this.pages = 1;
            this.data = list;
            this.count = list.size();
        }
        if (list instanceof Collection) {
            // 判断页面边界
            judgePageBoudary();
        }
    }
 
    public LayPage(Page<T> page) {
        this.curr = page.getCurrent();
        this.limit = page.getSize();
 
        this.pages = (int)page.getPages();
        this.data = (List<T>) page.getRecords();
        this.count = page.getTotal();
    }
 
    /**
     * 判定页面边界
     */
    private void judgePageBoudary() {
        isFirstPage = curr == 1;
        isLastPage = curr == pages;
    }
 
    public int getPageNum() {
        return curr;
    }
 
    public void setPageNum(int pageNum) {
        this.curr = pageNum;
    }
 
    public int getLimit() {
        return limit;
    }
 
    public void setLimit(int limit) {
        this.limit = limit;
    }
 
    public long getCount() {
        return count;
    }
 
    public void setCount(long count) {
        this.count = count;
    }
 
    public int getPages() {
        return pages;
    }
 
    public void setPages(int pages) {
        this.pages = pages;
    }
 
    public List<T> getData() {
        return data;
    }
 
    public void setData(List<T> data) {
        this.data = data;
    }
 
    public boolean isIsFirstPage() {
        return isFirstPage;
    }
 
    public void setIsFirstPage(boolean isFirstPage) {
        this.isFirstPage = isFirstPage;
    }
 
    public boolean isIsLastPage() {
        return isLastPage;
    }
 
    public void setIsLastPage(boolean isLastPage) {
        this.isLastPage = isLastPage;
    }
 
    @Override
    public String toString() {
        final StringBuffer sb = new StringBuffer("PageInfo{");
        sb.append("curr=").append(curr);
        sb.append(", limit=").append(limit);
        sb.append(", count=").append(count);
        sb.append(", pages=").append(pages);
        sb.append(", data=").append(data);
        sb.append(", isFirstPage=").append(isFirstPage);
        sb.append(", isLastPage=").append(isLastPage);
        sb.append(", navigatepageNums=");
        sb.append('}');
        return sb.toString();
    }
 
    public int getCode() {
        return code;
    }
 
    public void setCode(int code) {
        this.code = code;
    }
 
    public String getMsg() {
        return msg;
    }
 
    public void setMsg(String msg) {
        this.msg = msg;
    }
 
}