Browse Source

依据岗位数据过滤,流程取消缓存

wy 2 years ago
parent
commit
7a60143b6f

+ 28 - 0
ibps-component-root/modules/comp-querybuilder/src/main/java/com/lc/ibps/components/querybuilder/support/parser/sql/FindInSetRuleParser.java

@@ -0,0 +1,28 @@
+package com.lc.ibps.components.querybuilder.support.parser.sql;
+
+import com.lc.ibps.components.querybuilder.enums.EnumOperator;
+import com.lc.ibps.components.querybuilder.model.IRule;
+import com.lc.ibps.components.querybuilder.model.sql.Operation;
+import com.lc.ibps.components.querybuilder.support.parser.AbstractSqlRuleParser;
+import com.lc.ibps.components.querybuilder.support.parser.JsonRuleParser;
+import java.util.List;
+
+public class FindInSetRuleParser extends AbstractSqlRuleParser {
+    public boolean canParse(IRule rule) {
+
+        return EnumOperator.FIND_IN_SET.equals(rule.getOperator());
+    }
+
+    public Operation parse(IRule rule, JsonRuleParser parser) {
+        StringBuffer operate = new StringBuffer();
+        List listUser = (List) rule.getValue();
+        for (int i=0;i<listUser.size(); i++) {
+            if(i==listUser.size()-1){
+                operate.append(" FIND_IN_SET(" + listUser.get(i) +","+ rule.getField()+")");
+            }else{
+                operate.append("FIND_IN_SET(" + listUser.get(i) +","+ rule.getField()+") or ");
+            }
+        }
+        return new Operation(operate, rule.getValue());
+    }
+}