|
@@ -3,9 +3,11 @@ package com.xzl.web.service.impl;
|
|
|
|
|
|
import com.xzl.web.mapper.DataGovernanceMapper;
|
|
|
import com.xzl.web.model.dataGovernance.dto.CreateTableDTO;
|
|
|
+import com.xzl.web.model.dataGovernance.dto.DataReplicationParam;
|
|
|
import com.xzl.web.model.dataGovernance.entity.DatabaseInfo;
|
|
|
import com.xzl.web.model.dataGovernance.entity.TableColumnParam;
|
|
|
import com.xzl.web.model.dataGovernance.entity.TableInfo;
|
|
|
+import com.xzl.web.model.dataGovernance.entity.TableStructure;
|
|
|
import com.xzl.web.service.DataGovernanceService;
|
|
|
import org.mybatis.spring.SqlSessionTemplate;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -113,8 +115,6 @@ public class DataGovernanceServiceImpl implements DataGovernanceService {
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
try {
|
|
|
dataGovernanceMapper.createTable(createTableDTO);
|
|
|
} catch (Exception e) {
|
|
@@ -161,6 +161,40 @@ public class DataGovernanceServiceImpl implements DataGovernanceService {
|
|
|
return dataGovernanceMapper.getTableDataByTableName(tableName);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Map<String, String> dataReplication(DataReplicationParam param) {
|
|
|
+ Map<String,String> result = new HashMap<>();
|
|
|
+ if(verifySQLName(param.getResourceDatabaseName()) && verifySQLName(param.getResourceTableName()) && verifySQLName(param.getTargetDatabaseName()) && verifySQLName(param.getTargetTableName())){
|
|
|
+ result.put("message","传入参数不符合规则!");
|
|
|
+ result.put("type","error");
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+ Map<String,String> resource = new HashMap<>();
|
|
|
+ Map<String,String> target = new HashMap<>();
|
|
|
+ resource.put("databaseName",param.getResourceDatabaseName());
|
|
|
+ resource.put("tableName",param.getResourceTableName());
|
|
|
+ target.put("databaseName",param.getTargetDatabaseName());
|
|
|
+ target.put("tableName",param.getTargetTableName());
|
|
|
+ List<TableStructure> resourceTableStructure = dataGovernanceMapper.getTableStructure(resource);
|
|
|
+ List<TableStructure> targetTableStructure = dataGovernanceMapper.getTableStructure(target);
|
|
|
+ if(resourceTableStructure.size()!=targetTableStructure.size()){
|
|
|
+ result.put("message","复制失败!选择的表结构不同");
|
|
|
+ result.put("type","error");
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+ for(int i=0;i<resourceTableStructure.size();i++){
|
|
|
+ if(resourceTableStructure.get(0)!=targetTableStructure.get(0)){
|
|
|
+ result.put("message","复制失败!选择的表结构不同");
|
|
|
+ result.put("type","error");
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ dataGovernanceMapper.dataReplication(param);
|
|
|
+ result.put("message","复制完成!");
|
|
|
+ result.put("type","success");
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
private Boolean verifySQLName(String text){
|
|
|
return text.isEmpty() || !text.matches("^[a-zA-Z_][a-zA-Z0-9_]{0,63}$");
|