Ver Fonte

调整逻辑

lhh há 8 meses atrás
pai
commit
8c3ea9291c

+ 3 - 3
liteflow-rule-plugin/liteflow-rule-sql/src/main/java/com/yomahub/liteflow/parser/constant/SqlReadConstant.java

@@ -10,13 +10,13 @@ package com.yomahub.liteflow.parser.constant;
  */
 public class SqlReadConstant {
 
-    public static final String SQL_PATTERN = "SELECT * FROM {} WHERE {}=?";
+    public static final String SQL_PATTERN = "SELECT * FROM {} WHERE {}='{}'";
 
-    public static final String SQL_PATTERN_WITH_SUFFIX = "SELECT * FROM {} WHERE {}=? AND {}";
+    public static final String SQL_PATTERN_WITH_SUFFIX = "SELECT * FROM {} WHERE {}='{}' AND {}";
 
     public static final String SCRIPT_SQL_CHECK_PATTERN = "SELECT 1 FROM {} ";
 
-    public static final String SCRIPT_SQL_PATTERN = "SELECT * FROM {} WHERE {}=?";
+    public static final String SCRIPT_SQL_PATTERN = "SELECT * FROM {} WHERE {}='{}'";
 
     public static final String CHAIN_XML_PATTERN = "<chain id=\"{}\" namespace=\"{}\"><route><![CDATA[{}]]></route><body><![CDATA[{}]]></body></chain>";
 

+ 2 - 2
liteflow-rule-plugin/liteflow-rule-sql/src/main/java/com/yomahub/liteflow/parser/sql/polling/AbstractSqlReadPollTask.java

@@ -35,8 +35,8 @@ public abstract class AbstractSqlReadPollTask<T> implements SqlReadPollTask<T> {
     }
 
     @Override
-    public void execute(ReadType readType) {
-        List<T> dataList = read.read(readType);
+    public void execute() {
+        List<T> dataList = read.read();
         // 新增或者更新的元素
         List<T> saveElementList = new ArrayList<>();
         // 删除的元素

+ 1 - 1
liteflow-rule-plugin/liteflow-rule-sql/src/main/java/com/yomahub/liteflow/parser/sql/polling/SqlReadPollTask.java

@@ -17,7 +17,7 @@ public interface SqlReadPollTask<T> {
     /**
      * 执行
      */
-    void execute(ReadType readType);
+    void execute();
 
     /**
      * 初始化数据

+ 1 - 5
liteflow-rule-plugin/liteflow-rule-sql/src/main/java/com/yomahub/liteflow/parser/sql/read/AbstractSqlRead.java

@@ -30,7 +30,7 @@ public abstract class AbstractSqlRead<T> implements SqlRead<T> {
     }
 
     @Override
-    public List<T> read(ReadType readType) {
+    public List<T> read() {
         // 如果不需要读取直接返回
         if (!needRead()) {
             return new ArrayList<>();
@@ -51,10 +51,6 @@ public abstract class AbstractSqlRead<T> implements SqlRead<T> {
             // 设置游标拉取数量
             stmt.setFetchSize(SqlReadConstant.FETCH_SIZE_MAX);
 
-            if (!(readType == ReadType.CHAIN && StrUtil.isNotBlank(config.getCustomSql()))) {
-                stmt.setString(1, config.getApplicationName());
-            }
-
             rs = stmt.executeQuery();
 
             while (rs.next()) {

+ 1 - 1
liteflow-rule-plugin/liteflow-rule-sql/src/main/java/com/yomahub/liteflow/parser/sql/read/SqlRead.java

@@ -18,7 +18,7 @@ public interface SqlRead<T> {
      *
      * @return 返回读取到的数据
      */
-    List<T> read(ReadType readType);
+    List<T> read();
 
     /**
      * 类型

+ 3 - 2
liteflow-rule-plugin/liteflow-rule-sql/src/main/java/com/yomahub/liteflow/parser/sql/read/impl/ChainRead.java

@@ -61,6 +61,7 @@ public class ChainRead extends AbstractSqlRead<ChainVO> {
         String chainTableName = super.config.getChainTableName();
         String chainApplicationNameField = super.config.getChainApplicationNameField();
         String customFilterSql = super.config.getCustomFilterSql();
+        String applicationName = super.config.getApplicationName();
 
         if (StrUtil.isNotBlank(customFilterSql)) {
             String customFilterSqlTrim = customFilterSql.trim();
@@ -73,9 +74,9 @@ public class ChainRead extends AbstractSqlRead<ChainVO> {
             }
 
             return StrUtil.format(SqlReadConstant.SQL_PATTERN_WITH_SUFFIX, chainTableName,
-                    chainApplicationNameField, customFilterSqlTrim);
+                    chainApplicationNameField, applicationName, customFilterSqlTrim);
         } else {
-            return StrUtil.format(SqlReadConstant.SQL_PATTERN, chainTableName, chainApplicationNameField);
+            return StrUtil.format(SqlReadConstant.SQL_PATTERN, chainTableName, chainApplicationNameField, applicationName);
         }
     }
 

+ 3 - 2
liteflow-rule-plugin/liteflow-rule-sql/src/main/java/com/yomahub/liteflow/parser/sql/read/impl/ScriptRead.java

@@ -60,11 +60,12 @@ public class ScriptRead extends AbstractSqlRead<ScriptVO> {
     public String buildQuerySql() {
         String scriptTableName = super.config.getScriptTableName();
         String scriptApplicationNameField = super.config.getScriptApplicationNameField();
-
+        String applicationName = super.config.getApplicationName();
         return StrUtil.format(
                 SqlReadConstant.SCRIPT_SQL_PATTERN,
                 scriptTableName,
-                scriptApplicationNameField);
+                scriptApplicationNameField,
+                applicationName);
     }
 
     @Override

+ 4 - 4
liteflow-rule-plugin/liteflow-rule-sql/src/main/java/com/yomahub/liteflow/parser/sql/util/JDBCHelper.java

@@ -93,7 +93,7 @@ public class JDBCHelper {
         SqlRead<ScriptVO> scriptRead = SqlReadFactory.getSqlRead(ReadType.SCRIPT);
 
         // 获取 chain 数据
-        List<ChainVO> chainVOList = chainRead.read(ReadType.CHAIN);
+        List<ChainVO> chainVOList = chainRead.read();
         List<String> chainList = new ArrayList<>();
 
         chainVOList.forEach(
@@ -104,7 +104,7 @@ public class JDBCHelper {
         String chainsContent = CollUtil.join(chainList, StrUtil.EMPTY);
 
         // 获取脚本数据
-        List<ScriptVO> scriptVOList = scriptRead.read(ReadType.SCRIPT);
+        List<ScriptVO> scriptVOList = scriptRead.read();
         List<String> scriptList = new ArrayList<>();
 
         scriptVOList.forEach(scriptVO -> {
@@ -139,8 +139,8 @@ public class JDBCHelper {
         pollExecutor.scheduleAtFixedRate(
                 () -> {
                     try {
-                        SqlReadFactory.getSqlReadPollTask(ReadType.SCRIPT).execute(ReadType.SCRIPT);
-                        SqlReadFactory.getSqlReadPollTask(ReadType.CHAIN).execute(ReadType.CHAIN);
+                        SqlReadFactory.getSqlReadPollTask(ReadType.SCRIPT).execute();
+                        SqlReadFactory.getSqlReadPollTask(ReadType.CHAIN).execute();
                     } catch (Exception ex) {
                         LOG.error("poll chain fail", ex);
                     }