Explorar el Código

增加对左包含、右包含条件的支持

yucheng hace 3 años
padre
commit
5170b218c1

+ 7 - 3
dmp-comp/dmp-digital-starter/src/main/java/com/persagy/dmp/basic/model/QueryOperator.java

@@ -27,12 +27,16 @@ public enum QueryOperator {
     RELATION_FROM("relationFrom", "关系来源"),
     RELATION_TO("relationTo", "关系目标"),
 
+    /** 暂不使用 */
     SQL("$sql", "SQL"),
+    /** 20210816 支持relation条件 */
     IN_SQL("$inSql", "IN_SQL"),
-
+    /** 20210816 支持or条件 */
     AND("$and", "且"),
-    OR("$or", "或");
-
+    OR("$or", "或"),
+    /** 20210816 支持数据中心左、右like条件 */
+    LIKE_LEFT("$likeLeft", "左包含"),
+    LIKE_RIGHT("$likeRight", "右包含");
 
     private String index;
     private String name;

+ 4 - 0
dmp-comp/dmp-digital-starter/src/main/java/com/persagy/dmp/basic/utils/QueryCriteriaHelper.java

@@ -155,6 +155,10 @@ public class QueryCriteriaHelper {
             wrapper.inSql(field, (String) JsonNodeUtils.getNodeValue(valueNode));
         } else if(QueryOperator.LIKE.getIndex().equalsIgnoreCase(operator)) {
             wrapper.like(field, JsonNodeUtils.getNodeValue(valueNode));
+        } else if(QueryOperator.LIKE_LEFT.getIndex().equalsIgnoreCase(operator)) {
+            wrapper.likeLeft(field, JsonNodeUtils.getNodeValue(valueNode));
+        } else if(QueryOperator.LIKE_RIGHT.getIndex().equalsIgnoreCase(operator)) {
+            wrapper.likeRight(field, JsonNodeUtils.getNodeValue(valueNode));
         } else if(QueryOperator.NOT_LIKE.getIndex().equalsIgnoreCase(operator)) {
             wrapper.notLike(field, JsonNodeUtils.getNodeValue(valueNode));
         } else if(QueryOperator.NULL.getIndex().equalsIgnoreCase(operator)) {