Преглед изворни кода

修复自定义主键未回显标识 & 无法读取映射关系表列表

Signed-off-by: AE86 <836391306@qq.com>
AE86 пре 2 година
родитељ
комит
ddf7e53b16

+ 9 - 0
dbsyncer-biz/src/main/java/org/dbsyncer/biz/checker/impl/tablegroup/TableGroupChecker.java

@@ -133,6 +133,15 @@ public class TableGroupChecker extends AbstractChecker {
     private Table getTable(String connectorId, String tableName, String primaryKey) {
         MetaInfo metaInfo = manager.getMetaInfo(connectorId, tableName);
         Assert.notNull(metaInfo, "无法获取连接器表信息.");
+        // 自定义主键
+        if(StringUtil.isNotBlank(primaryKey) && !CollectionUtils.isEmpty(metaInfo.getColumn())){
+            for(Field field : metaInfo.getColumn()){
+                if(StringUtil.equals(field.getName(), primaryKey)){
+                    field.setPk(true);
+                    break;
+                }
+            }
+        }
         return new Table(tableName, metaInfo.getTableType(), primaryKey, metaInfo.getColumn());
     }
 

+ 2 - 2
dbsyncer-biz/src/main/java/org/dbsyncer/biz/impl/TableGroupServiceImpl.java

@@ -51,7 +51,7 @@ public class TableGroupServiceImpl extends BaseServiceImpl implements TableGroup
                 log(LogType.TableGroupLog.INSERT, model);
                 int tableGroupCount = manager.getTableGroupCount(mappingId);
                 model.setIndex(tableGroupCount + 1);
-                id = manager.addConfigModel(model);
+                id = manager.addTableGroup(model);
             }
 
             // 合并驱动公共字段
@@ -70,7 +70,7 @@ public class TableGroupServiceImpl extends BaseServiceImpl implements TableGroup
         TableGroup model = (TableGroup) tableGroupChecker.checkEditConfigModel(params);
         log(LogType.TableGroupLog.UPDATE, model);
 
-        return manager.editConfigModel(model);
+        return manager.editTableGroup(model);
     }
 
     @Override

+ 4 - 0
dbsyncer-manager/src/main/java/org/dbsyncer/manager/Manager.java

@@ -85,6 +85,10 @@ public interface Manager extends Executor {
     List<Mapping> getMappingAll();
 
     // TableGroup
+    String addTableGroup(TableGroup model);
+
+    String editTableGroup(TableGroup model);
+
     TableGroup getTableGroup(String tableGroupId);
 
     List<TableGroup> getTableGroupAll(String mappingId);

+ 10 - 0
dbsyncer-manager/src/main/java/org/dbsyncer/manager/ManagerFactory.java

@@ -163,6 +163,16 @@ public class ManagerFactory implements Manager, ApplicationListener<ClosedEvent>
         return operationTemplate.queryAll(Mapping.class);
     }
 
+    @Override
+    public String addTableGroup(TableGroup model) {
+        return operationTemplate.execute(new OperationConfig(model, CommandEnum.OPR_ADD, GroupStrategyEnum.TABLE));
+    }
+
+    @Override
+    public String editTableGroup(TableGroup model) {
+        return operationTemplate.execute(new OperationConfig(model, CommandEnum.OPR_EDIT, GroupStrategyEnum.TABLE));
+    }
+
     @Override
     public TableGroup getTableGroup(String tableGroupId) {
         return operationTemplate.queryObject(TableGroup.class, tableGroupId);