Преглед на файлове

Merge remote-tracking branch 'origin/master'

fengyanjie преди 4 години
родител
ревизия
6a1e3fa94d
променени са 1 файла, в които са добавени 6 реда и са изтрити 0 реда
  1. 6 0
      dmp-common/src/main/java/com/persagy/common/criteria/CriteriaUtils.java

+ 6 - 0
dmp-common/src/main/java/com/persagy/common/criteria/CriteriaUtils.java

@@ -438,6 +438,9 @@ public class CriteriaUtils {
 			if (arr != null) {
 				result.add(path.in(parseEnumArr(arr, clazz)));
 			}
+			if (node.has("$ne")) {
+				result.add(path.ne(parseEnum(node.get("$ne"), clazz)));
+			}
 		}
 		return result;
 	}
@@ -451,6 +454,9 @@ public class CriteriaUtils {
 		}
 		return values;
 	}
+	private static <T extends Enum> T parseEnum(JsonNode obj, Class<T> clazz) {
+		return (T) T.valueOf(clazz, obj.asText());
+	}
 
 	public static List<BooleanExpression> parse(BooleanPath path, JsonNode node, Boolean defaultValue) {
 		List<BooleanExpression> result = new LinkedList<>();