Browse Source

优化逻辑

穿云 4 months ago
parent
commit
80f622dfb3

+ 0 - 6
dbsyncer-parser/pom.xml

@@ -25,12 +25,6 @@
             <version>${project.parent.version}</version>
         </dependency>
 
-        <dependency>
-            <groupId>com.scxhtb</groupId>
-            <artifactId>dbsyncer-parser-plus</artifactId>
-            <version>${project.parent.version}</version>
-        </dependency>
-
         <dependency>
             <groupId>com.github.jsqlparser</groupId>
             <artifactId>jsqlparser</artifactId>

+ 2 - 2
dbsyncer-parser/src/main/java/org/dbsyncer/parser/model/Picker.java

@@ -9,8 +9,8 @@ import java.util.stream.Collectors;
 
 public class Picker {
 
-    private List<Field> sourceFields = new ArrayList<>();
-    private List<Field> targetFields = new ArrayList<>();
+    private final List<Field> sourceFields = new ArrayList<>();
+    private final List<Field> targetFields = new ArrayList<>();
 
     public Picker(List<FieldMapping> fieldMapping) {
         if (!CollectionUtils.isEmpty(fieldMapping)) {

+ 5 - 10
dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/listener/AbstractDatabaseListener.java

@@ -32,7 +32,7 @@ public abstract class AbstractDatabaseListener extends AbstractListener<Database
      * 自定义SQL,支持1对多
      * <p>MY_USER > [用户表1, 用户表2]
      */
-    private Map<String, List<DqlMapper>> dqlMap = new ConcurrentHashMap<>();
+    private final Map<String, List<DqlMapper>> dqlMap = new ConcurrentHashMap<>();
 
     /**
      * 发送增量事件
@@ -57,7 +57,6 @@ public abstract class AbstractDatabaseListener extends AbstractListener<Database
             return;
         }
 
-        RowChangedEvent changedEvent = (RowChangedEvent) event;
         boolean processed = false;
         for (DqlMapper dqlMapper : dqlMappers) {
             if (!processed) {
@@ -65,7 +64,7 @@ public abstract class AbstractDatabaseListener extends AbstractListener<Database
                     case ConnectorConstant.OPERTION_UPDATE:
                     case ConnectorConstant.OPERTION_INSERT:
                         try {
-                            queryDqlData(dqlMapper, changedEvent.getChangedRow());
+                            queryDqlData(dqlMapper, event.getChangedRow());
                         } catch (Exception e) {
                             return;
                         }
@@ -75,8 +74,8 @@ public abstract class AbstractDatabaseListener extends AbstractListener<Database
                 }
                 processed = true;
             }
-            changedEvent.setSourceTableName(dqlMapper.sqlName);
-            changeEvent(changedEvent);
+            event.setSourceTableName(dqlMapper.sqlName);
+            changeEvent(event);
         }
     }
 
@@ -126,10 +125,6 @@ public abstract class AbstractDatabaseListener extends AbstractListener<Database
 
     /**
      * 获取主表主键索引
-     *
-     * @param column
-     * @param primaryKeys
-     * @return
      */
     protected Integer[] getPrimaryKeyIndexArray(List<Field> column, List<String> primaryKeys) {
         List<Integer> indexList = new ArrayList<>();
@@ -162,7 +157,7 @@ public abstract class AbstractDatabaseListener extends AbstractListener<Database
         }
     }
 
-    final class DqlMapper {
+    static final class DqlMapper {
         DatabaseConnectorInstance instance;
         String sqlName;
         String sql;

+ 5 - 10
dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/listener/ChangedEvent.java

@@ -22,35 +22,31 @@ public interface ChangedEvent {
 
     /**
      * 获取变更事件类型
-     *
-     * @return
      */
     ChangedEventTypeEnum getType();
 
     /**
      * 获取变更表名称
-     *
-     * @return
      */
     String getSourceTableName();
 
+    /**
+     * 获取变更表名称(DQL场景自定义表名称)
+     */
+    void setSourceTableName(String sourceTableName);
+
     /**
      * 获取变更事件
-     *
-     * @return
      */
     String getEvent();
 
     /**
      * 获取增量偏移量
-     *
-     * @return
      */
     ChangedOffset getChangedOffset();
 
     /**
      * 获取变更SQL
-     *
      * {@link DDLChangedEvent}
      */
     default String getSql() {
@@ -59,7 +55,6 @@ public interface ChangedEvent {
 
     /**
      * 获取变更行数据
-     *
      * {@link RowChangedEvent}
      * {@link ScanChangedEvent}
      */

+ 2 - 1
dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/listener/event/CommonChangedEvent.java

@@ -26,13 +26,14 @@ public abstract class CommonChangedEvent implements ChangedEvent {
     /**
      * 增量偏移量
      */
-    private ChangedOffset changedOffset = new ChangedOffset();
+    private final ChangedOffset changedOffset = new ChangedOffset();
 
     @Override
     public String getSourceTableName() {
         return sourceTableName;
     }
 
+    @Override
     public void setSourceTableName(String sourceTableName) {
         this.sourceTableName = sourceTableName;
     }