c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
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
|
package com.objecteye.utils;
import com.alibaba.fastjson.JSONArray;
import com.objecteye.entity.PageResult;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class UserTools {
public static JSONArray getJSONArrayByList(List list) {
JSONArray jsonArray = new JSONArray();
if (list == null || list.isEmpty()) {
return jsonArray;
}
jsonArray.addAll(list);
return jsonArray;
}
public static String nowToDate() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.format(new Date());
}
/**
* 统一手动分页
*
* @param baseList 原始数据集合
|
7a6dd2db
Liu Haoyu
手动分页功能代码重构;
|
31
32
|
* @param currentPage 页码
* @param pageVolume 页面容量
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
33
34
|
* @return 结果集
*/
|
7a6dd2db
Liu Haoyu
手动分页功能代码重构;
|
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
|
public static PageResult makePageResultByBaseList(List baseList, int currentPage, int pageVolume) {
return new PageResult<>(getPageTotalByBaseList(baseList, pageVolume),
getPagedResultByBaseList(baseList, currentPage, pageVolume));
}
/**
* 手动分页获取页码数量
*
* @param baseList 原始数据集合
* @param pageVolume 页面容量
* @return 页数
*/
public static int getPageTotalByBaseList(List baseList, int pageVolume) {
return getPageTotalByBaseList(baseList.size(), pageVolume);
}
/**
* 手动分页获取页码数量
*
* @param size 集合数量
* @param pageVolume 页面容量
* @return 页数
*/
public static int getPageTotalByBaseList(int size, int pageVolume) {
return (size / pageVolume) + ((size % pageVolume > 0) ? 1 : 0);
}
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
61
|
|
7a6dd2db
Liu Haoyu
手动分页功能代码重构;
|
62
63
64
65
66
67
68
69
70
71
72
|
/**
* 手动获取分页对应页面的数据
*
* @param baseList 原始数据集合
* @param currentPage 页码
* @param pageVolume 页面容量
* @return 数据集合
*/
public static List getPagedResultByBaseList(List baseList, int currentPage, int pageVolume) {
int pageTotal = getPageTotalByBaseList(baseList, pageVolume);
int fromIndex = (currentPage - 1) * pageVolume;
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
73
|
int toIndex;
|
7a6dd2db
Liu Haoyu
手动分页功能代码重构;
|
74
|
if (currentPage == pageTotal) {
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
75
76
|
toIndex = baseList.size();
} else if (pageTotal == 0) {
|
7a6dd2db
Liu Haoyu
手动分页功能代码重构;
|
77
|
return new ArrayList<>();
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
78
|
} else {
|
7a6dd2db
Liu Haoyu
手动分页功能代码重构;
|
79
|
toIndex = currentPage * pageVolume;
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
80
81
82
83
|
if (toIndex > baseList.size()) {
toIndex = baseList.size();
}
if (fromIndex >= toIndex) {
|
7a6dd2db
Liu Haoyu
手动分页功能代码重构;
|
84
|
return new ArrayList<>();
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
85
86
|
}
}
|
7a6dd2db
Liu Haoyu
手动分页功能代码重构;
|
87
|
return baseList.subList(fromIndex, toIndex);
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
88
89
|
}
}
|