|
|
@@ -53,8 +53,9 @@ public class PageInfo implements Pageable {
|
|
|
this.pageNumber = 1;
|
|
|
}
|
|
|
this.offset = this.pageSize * (this.pageNumber - 1);
|
|
|
- if (params.getFilter() != null)
|
|
|
+ if (params.getFilter() != null) {
|
|
|
this.filters = JSONObject.parseObject(params.getFilter());
|
|
|
+ }
|
|
|
if (params.getSorting() != null) {
|
|
|
JSONObject sorting = JSONObject.parseObject(params.getSorting());
|
|
|
LinkedList<Sort.Order> orders = new LinkedList<Sort.Order>();
|
|
|
@@ -95,14 +96,16 @@ public class PageInfo implements Pageable {
|
|
|
}
|
|
|
|
|
|
public void filter(String key, Object value) {
|
|
|
- if (filters == null)
|
|
|
+ if (filters == null) {
|
|
|
filters = new HashMap<String, Object>();
|
|
|
+ }
|
|
|
filters.put(key, value);
|
|
|
}
|
|
|
|
|
|
public void filter(String key, Object value, Boolean ignoreCase) {
|
|
|
- if (filters == null)
|
|
|
+ if (filters == null) {
|
|
|
filters = new HashMap<String, Object>();
|
|
|
+ }
|
|
|
filters.put(key, value);
|
|
|
if (ignoreCaseMap == null) {
|
|
|
ignoreCaseMap = new HashMap<String, Boolean>();
|
|
|
@@ -113,8 +116,9 @@ public class PageInfo implements Pageable {
|
|
|
}
|
|
|
|
|
|
public void filterAll(Map<String, Object> filters) {
|
|
|
- if (this.filters == null)
|
|
|
+ if (this.filters == null) {
|
|
|
this.filters = new HashMap<String, Object>();
|
|
|
+ }
|
|
|
this.filters.putAll(filters);
|
|
|
}
|
|
|
|
|
|
@@ -125,8 +129,9 @@ public class PageInfo implements Pageable {
|
|
|
*/
|
|
|
public void expression(CriterionExpression expression) {
|
|
|
if (expression != null) {
|
|
|
- if (expressions == null)
|
|
|
+ if (expressions == null) {
|
|
|
expressions = new HashSet<CriterionExpression>();
|
|
|
+ }
|
|
|
expressions.add(expression);
|
|
|
}
|
|
|
}
|
|
|
@@ -138,8 +143,9 @@ public class PageInfo implements Pageable {
|
|
|
*/
|
|
|
public void orExpression(CriterionExpression expression) {
|
|
|
if (expression != null) {
|
|
|
- if (orExpressions == null)
|
|
|
+ if (orExpressions == null) {
|
|
|
orExpressions = new HashSet<CriterionExpression>();
|
|
|
+ }
|
|
|
orExpressions.add(expression);
|
|
|
}
|
|
|
}
|
|
|
@@ -192,18 +198,22 @@ public class PageInfo implements Pageable {
|
|
|
this.orExpressions = orExpressions;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
public int getPageNumber() {
|
|
|
return pageNumber;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
public int getPageSize() {
|
|
|
return pageSize;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
public int getOffset() {
|
|
|
return offset;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
public Sort getSort() {
|
|
|
return sort;
|
|
|
}
|
|
|
@@ -322,56 +332,58 @@ public class PageInfo implements Pageable {
|
|
|
int i = 0;
|
|
|
for (String valKey : keys) {
|
|
|
val = valueMap.get(valKey);
|
|
|
- if (valKey.equals("ne")) {// 不等于 {"ne": "something"}
|
|
|
+ if ("ne".equals(valKey)) {// 不等于 {"ne": "something"}
|
|
|
Path<String> path = PredicateUtils.getPath(root, field,
|
|
|
String.class);
|
|
|
- if (val != null)
|
|
|
+ if (val != null) {
|
|
|
predicates[i++] = builder.notEqual(path,
|
|
|
String.valueOf(val));
|
|
|
- else
|
|
|
+ } else {
|
|
|
predicates[i++] = builder.isNotNull(path);
|
|
|
- } else if (valKey.equals("eq")) {// 等于 {"eq": "something"}
|
|
|
+ }
|
|
|
+ } else if ("eq".equals(valKey)) {// 等于 {"eq": "something"}
|
|
|
Path<String> path = PredicateUtils.getPath(root, field,
|
|
|
String.class);
|
|
|
- if (val != null)
|
|
|
+ if (val != null) {
|
|
|
predicates[i++] = builder.equal(path, String.valueOf(val));
|
|
|
- else
|
|
|
+ } else {
|
|
|
predicates[i++] = builder.isNull(path);
|
|
|
- } else if (valKey.equals("gt")) {// 大于 {"gt": "something"}
|
|
|
+ }
|
|
|
+ } else if ("gt".equals(valKey)) {// 大于 {"gt": "something"}
|
|
|
Path<String> path = PredicateUtils.getPath(root, field,
|
|
|
String.class);
|
|
|
predicates[i++] = builder
|
|
|
.greaterThan(path, String.valueOf(val));
|
|
|
- } else if (valKey.equals("lt")) {// 小于 {"lt": "something"}
|
|
|
+ } else if ("lt".equals(valKey)) {// 小于 {"lt": "something"}
|
|
|
Path<String> path = PredicateUtils.getPath(root, field,
|
|
|
String.class);
|
|
|
predicates[i++] = builder.lessThan(path, String.valueOf(val));
|
|
|
- } else if (valKey.equals("gte")) {// 大于等于 {"gte": "something"}
|
|
|
+ } else if ("gte".equals(valKey)) {// 大于等于 {"gte": "something"}
|
|
|
Path<String> path = PredicateUtils.getPath(root, field,
|
|
|
String.class);
|
|
|
predicates[i++] = builder.greaterThanOrEqualTo(path,
|
|
|
String.valueOf(val));
|
|
|
- } else if (valKey.equals("lte")) {// 小于等于 {"lte": "something"}
|
|
|
+ } else if ("lte".equals(valKey)) {// 小于等于 {"lte": "something"}
|
|
|
Path<String> path = PredicateUtils.getPath(root, field,
|
|
|
String.class);
|
|
|
predicates[i++] = builder.lessThanOrEqualTo(path,
|
|
|
String.valueOf(val));
|
|
|
- } else if (valKey.equals("gtd")) {// 日期大于 {"gtd": 1441269176697}
|
|
|
+ } else if ("gtd".equals(valKey)) {// 日期大于 {"gtd": 1441269176697}
|
|
|
Path<Date> path = PredicateUtils.getPath(root, field,
|
|
|
Date.class);
|
|
|
predicates[i++] = builder.greaterThan(path,
|
|
|
new Date(Long.parseLong(String.valueOf(val))));
|
|
|
- } else if (valKey.equals("ltd")) {// 日期小于 {"ltd": 1441269176697}
|
|
|
+ } else if ("ltd".equals(valKey)) {// 日期小于 {"ltd": 1441269176697}
|
|
|
Path<Date> path = PredicateUtils.getPath(root, field,
|
|
|
Date.class);
|
|
|
predicates[i++] = builder.lessThan(path,
|
|
|
new Date(Long.parseLong(String.valueOf(val))));
|
|
|
- } else if (valKey.equals("gted")) {// 日期大于等于 {"gted": 1441269176697}
|
|
|
+ } else if ("gted".equals(valKey)) {// 日期大于等于 {"gted": 1441269176697}
|
|
|
Path<Date> path = PredicateUtils.getPath(root, field,
|
|
|
Date.class);
|
|
|
predicates[i++] = builder.greaterThanOrEqualTo(path, new Date(
|
|
|
Long.parseLong(String.valueOf(val))));
|
|
|
- } else if (valKey.equals("lted")) {// 日期小于等于 {"lted": 1441269176697}
|
|
|
+ } else if ("lted".equals(valKey)) {// 日期小于等于 {"lted": 1441269176697}
|
|
|
Path<Date> path = PredicateUtils.getPath(root, field,
|
|
|
Date.class);
|
|
|
predicates[i++] = builder.lessThanOrEqualTo(path,
|
|
|
@@ -385,18 +397,22 @@ public class PageInfo implements Pageable {
|
|
|
return builder.and(predicates);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
public Pageable next() {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
public Pageable previousOrFirst() {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
public Pageable first() {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
public boolean hasPrevious() {
|
|
|
return false;
|
|
|
}
|