fix:1.优化数据同步数据表配置功能
This commit is contained in:
parent
e963667e0b
commit
b780ad3127
|
|
@ -21,6 +21,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
import java.sql.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @Description: 同步策略表
|
||||
|
|
@ -45,8 +46,6 @@ public class StasSyncStrategyServiceImpl extends ServiceImpl<StasSyncStrategyMap
|
|||
@Override
|
||||
public void createTargetTables(List<StasSyncStrategy> stasSyncStrategys) {
|
||||
if(null != stasSyncStrategys && stasSyncStrategys.size() > 0) {
|
||||
String taskId = stasSyncStrategys.get(0).getTaskId();
|
||||
stasSyncStrategyService.delete(new LambdaQueryWrapper<StasSyncStrategy>().eq(StasSyncStrategy::getTaskId, taskId));
|
||||
for (StasSyncStrategy stasSyncStrategy : stasSyncStrategys) {
|
||||
StasTaskConfig stasTaskConfig = stasTaskConfigMapper.selectById(stasSyncStrategy.getTaskId());
|
||||
StasDataSource sourceInfo = stasDataSourceMapper.selectById(stasTaskConfig.getSourceId());
|
||||
|
|
@ -70,23 +69,28 @@ public class StasSyncStrategyServiceImpl extends ServiceImpl<StasSyncStrategyMap
|
|||
String createSql = getCreateTableSql(sourceConn, stasSyncStrategy.getSourceOwner(),sourceInfo.getDbLink(),
|
||||
stasSyncStrategy.getTargetOwner(), stasSyncStrategy.getTableName(),
|
||||
sourceInfo.getType(), targetInfo.getType());
|
||||
|
||||
// 在目标库创建表
|
||||
try (Statement stmt = targetConn.createStatement()) {
|
||||
stmt.execute(createSql);
|
||||
LambdaQueryWrapper<StasSyncStrategy> syncStrategyQueryWrapper = new LambdaQueryWrapper<>();
|
||||
syncStrategyQueryWrapper.eq(StasSyncStrategy::getTaskId, stasSyncStrategy.getTaskId());
|
||||
syncStrategyQueryWrapper.eq(StasSyncStrategy::getSourceOwner,stasSyncStrategy.getSourceOwner());
|
||||
syncStrategyQueryWrapper.eq(StasSyncStrategy::getTargetOwner,stasSyncStrategy.getTargetOwner());
|
||||
syncStrategyQueryWrapper.eq(StasSyncStrategy::getTableName,stasSyncStrategy.getTableName());
|
||||
StasSyncStrategy queryResult = stasSyncStrategyService.selectOne(syncStrategyQueryWrapper);
|
||||
if(Objects.nonNull(queryResult)){
|
||||
stasSyncStrategyService.delete(syncStrategyQueryWrapper);
|
||||
}
|
||||
this.baseMapper.insert(stasSyncStrategy);
|
||||
} catch (Exception e) {
|
||||
throw new JeecgBootException(e.getMessage());
|
||||
}
|
||||
} else {
|
||||
this.baseMapper.insert(stasSyncStrategy);
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
throw new JeecgBootException(String.format("处理表: %s时出错", stasSyncStrategy.getTableName()));
|
||||
throw new JeecgBootException(String.format("处理表: %s时出错", stasSyncStrategy.getTableName()),e);
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
throw new JeecgBootException(e.getMessage());
|
||||
throw new JeecgBootException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user