|
|
@@ -1,7 +1,5 @@
|
|
|
package com.izouma.uwip.utils;
|
|
|
|
|
|
-import com.alibaba.fastjson.JSON;
|
|
|
-import com.alibaba.fastjson.JSONObject;
|
|
|
import com.izouma.uwip.annotations.Searchable;
|
|
|
import com.izouma.uwip.dto.PageQuery;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
@@ -183,7 +181,7 @@ public class JpaUtils {
|
|
|
list.add(Enum.valueOf(fieldType, String.valueOf(o)));
|
|
|
}
|
|
|
if (isPatent) {
|
|
|
- return root.join("patent", JoinType.LEFT).get(property).in(list);
|
|
|
+ return root.get("patent").get(property).in(list);
|
|
|
}
|
|
|
return root.get(property).in(list);
|
|
|
}
|
|
|
@@ -195,13 +193,13 @@ public class JpaUtils {
|
|
|
list.add(Enum.valueOf(fieldType, s));
|
|
|
}
|
|
|
if (isPatent) {
|
|
|
- return root.join("patent", JoinType.LEFT).get(property).in(list);
|
|
|
+ return root.get("patent").get(property).in(list);
|
|
|
}
|
|
|
return root.get(property).in(list);
|
|
|
} else {
|
|
|
if (isPatent) {
|
|
|
return criteriaBuilder.and(criteriaBuilder
|
|
|
- .equal(root.join("patent", JoinType.LEFT)
|
|
|
+ .equal(root.get("patent")
|
|
|
.get(property), Enum.valueOf(fieldType, String.valueOf(value))));
|
|
|
}
|
|
|
return criteriaBuilder.and(criteriaBuilder
|
|
|
@@ -215,7 +213,7 @@ public class JpaUtils {
|
|
|
LocalDateTime start = DateTimeUtils
|
|
|
.toLocalDateTime((String) list.get(0), "yyyy-MM-dd HH:mm:ss");
|
|
|
if (isPatent) {
|
|
|
- return criteriaBuilder.greaterThanOrEqualTo(root.join("patent", JoinType.LEFT)
|
|
|
+ return criteriaBuilder.greaterThanOrEqualTo(root.get("patent")
|
|
|
.get(property), start);
|
|
|
}
|
|
|
return criteriaBuilder.greaterThanOrEqualTo(root.get(property), start);
|
|
|
@@ -223,7 +221,7 @@ public class JpaUtils {
|
|
|
LocalDateTime end = DateTimeUtils
|
|
|
.toLocalDateTime((String) list.get(1), "yyyy-MM-dd HH:mm:ss");
|
|
|
if (isPatent) {
|
|
|
- return criteriaBuilder.lessThanOrEqualTo(root.join("patent", JoinType.LEFT).get(property), end);
|
|
|
+ return criteriaBuilder.lessThanOrEqualTo(root.get("patent").get(property), end);
|
|
|
}
|
|
|
return criteriaBuilder.lessThanOrEqualTo(root.get(property), end);
|
|
|
}
|
|
|
@@ -233,19 +231,19 @@ public class JpaUtils {
|
|
|
List<Predicate> and = new ArrayList<>();
|
|
|
LocalDateTime start = DateTimeUtils.toLocalDateTime(arr[0], "yyyy-MM-dd HH:mm:ss");
|
|
|
if (isPatent) {
|
|
|
- and.add(criteriaBuilder.greaterThanOrEqualTo(root.join("patent", JoinType.LEFT)
|
|
|
+ and.add(criteriaBuilder.greaterThanOrEqualTo(root.get("patent")
|
|
|
.get(property), start));
|
|
|
}
|
|
|
and.add(criteriaBuilder.greaterThanOrEqualTo(root.get(property), start));
|
|
|
LocalDateTime end = DateTimeUtils.toLocalDateTime(arr[1], "yyyy-MM-dd HH:mm:ss");
|
|
|
if (isPatent) {
|
|
|
- and.add(criteriaBuilder.lessThanOrEqualTo(root.join("patent", JoinType.LEFT).get(property), end));
|
|
|
+ and.add(criteriaBuilder.lessThanOrEqualTo(root.get("patent").get(property), end));
|
|
|
}
|
|
|
and.add(criteriaBuilder.lessThanOrEqualTo(root.get(property), end));
|
|
|
return criteriaBuilder.and(and.toArray(new Predicate[0]));
|
|
|
} else {
|
|
|
if (isPatent) {
|
|
|
- return criteriaBuilder.and(criteriaBuilder.equal(root.join("patent", JoinType.LEFT)
|
|
|
+ return criteriaBuilder.and(criteriaBuilder.equal(root.get("patent")
|
|
|
.get(property), DateTimeUtils
|
|
|
.toLocalDateTime((String) value, "yyyy-MM-dd HH:mm:ss")));
|
|
|
}
|
|
|
@@ -259,7 +257,7 @@ public class JpaUtils {
|
|
|
LocalDate start = DateTimeUtils
|
|
|
.toLocalDate((String) list.get(0), "yyyy-MM-dd");
|
|
|
if (isPatent) {
|
|
|
- return criteriaBuilder.greaterThanOrEqualTo(root.join("patent", JoinType.LEFT)
|
|
|
+ return criteriaBuilder.greaterThanOrEqualTo(root.get("patent")
|
|
|
.get(property), start);
|
|
|
}
|
|
|
return criteriaBuilder.greaterThanOrEqualTo(root.get(property), start);
|
|
|
@@ -267,7 +265,7 @@ public class JpaUtils {
|
|
|
LocalDate end = DateTimeUtils
|
|
|
.toLocalDate((String) list.get(1), "yyyy-MM-dd");
|
|
|
if (isPatent) {
|
|
|
- return criteriaBuilder.lessThanOrEqualTo(root.join("patent", JoinType.LEFT).get(property), end);
|
|
|
+ return criteriaBuilder.lessThanOrEqualTo(root.get("patent").get(property), end);
|
|
|
}
|
|
|
return criteriaBuilder.lessThanOrEqualTo(root.get(property), end);
|
|
|
}
|
|
|
@@ -277,18 +275,18 @@ public class JpaUtils {
|
|
|
List<Predicate> and = new ArrayList<>();
|
|
|
LocalDate start = DateTimeUtils.toLocalDate(arr[0], "yyyy-MM-dd");
|
|
|
if (isPatent) {
|
|
|
- and.add(criteriaBuilder.greaterThanOrEqualTo(root.join("patent", JoinType.LEFT).get(property), start));
|
|
|
+ and.add(criteriaBuilder.greaterThanOrEqualTo(root.get("patent").get(property), start));
|
|
|
}
|
|
|
and.add(criteriaBuilder.greaterThanOrEqualTo(root.get(property), start));
|
|
|
LocalDate end = DateTimeUtils.toLocalDate(arr[1], "yyyy-MM-dd");
|
|
|
if (isPatent) {
|
|
|
- and.add(criteriaBuilder.lessThanOrEqualTo(root.join("patent", JoinType.LEFT).get(property), end));
|
|
|
+ and.add(criteriaBuilder.lessThanOrEqualTo(root.get("patent").get(property), end));
|
|
|
}
|
|
|
and.add(criteriaBuilder.lessThanOrEqualTo(root.get(property), end));
|
|
|
return criteriaBuilder.and(and.toArray(new Predicate[0]));
|
|
|
} else {
|
|
|
if (isPatent) {
|
|
|
- return criteriaBuilder.and(criteriaBuilder.equal(root.join("patent", JoinType.LEFT)
|
|
|
+ return criteriaBuilder.and(criteriaBuilder.equal(root.get("patent")
|
|
|
.get(property), DateTimeUtils
|
|
|
.toLocalDateTime((String) value, "yyyy-MM-dd")));
|
|
|
}
|
|
|
@@ -297,23 +295,28 @@ public class JpaUtils {
|
|
|
}
|
|
|
} else {
|
|
|
if (isPatent) {
|
|
|
- return criteriaBuilder.and(criteriaBuilder.equal(root.join("patent", JoinType.LEFT).get(property), value));
|
|
|
+ return criteriaBuilder.and(criteriaBuilder.equal(root.get("patent").get(property), value));
|
|
|
}
|
|
|
return criteriaBuilder.and(criteriaBuilder.equal(root.get(property), value));
|
|
|
}
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
- public static Boolean isExistField(String field, Object obj) {
|
|
|
- if (obj == null || StringUtils.isEmpty(field)) {
|
|
|
+ public static Boolean isExistField(String field, Class<?> clazz) {
|
|
|
+ if (clazz == null || clazz == Object.class || StringUtils.isEmpty(field)) {
|
|
|
return null;
|
|
|
}
|
|
|
- Object o = JSON.toJSON(obj);
|
|
|
- JSONObject jsonObj = new JSONObject();
|
|
|
- if (o instanceof JSONObject) {
|
|
|
- jsonObj = (JSONObject) o;
|
|
|
+ //获取这个类的所有属性
|
|
|
+ Field[] fields = clazz.getDeclaredFields();
|
|
|
+ boolean flag = false;
|
|
|
+ //循环遍历所有的fields
|
|
|
+ for (int i = 0; i < fields.length; i++) {
|
|
|
+ if (fields[i].getName().equals(field)) {
|
|
|
+ flag = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
- return jsonObj.containsKey(field);
|
|
|
+ return flag;
|
|
|
}
|
|
|
|
|
|
private static Field getDeclaredField(Class<?> clazz, String property) {
|