Commit b35cfa77 authored by alex yao's avatar alex yao

feat: database数据表查询

parent f659fed2
...@@ -19,7 +19,7 @@ public class DatabaseUtil { ...@@ -19,7 +19,7 @@ public class DatabaseUtil {
private static Logger logger = LoggerFactory.getLogger(DatabaseUtil.class); private static Logger logger = LoggerFactory.getLogger(DatabaseUtil.class);
private static final String DRIVER_NAME = "com.mysql.cj.jdbc.Driver"; private static final String DRIVER_NAME = "com.mysql.jdbc.Driver";
private static final int CONNECT_TIMEOUT = 5000; // 连接超时时间(毫秒) private static final int CONNECT_TIMEOUT = 5000; // 连接超时时间(毫秒)
......
...@@ -80,7 +80,7 @@ public class DatabaseRestImpl implements DatabaseRest { ...@@ -80,7 +80,7 @@ public class DatabaseRestImpl implements DatabaseRest {
Long userId = userBaseEntity.getUserId(); Long userId = userBaseEntity.getUserId();
BizKnowledgeDatabaseEntity bizKnowledgeDatabaseEntity = bizKnowledgeDatabaseService.get(id.longValue()); BizKnowledgeDatabaseEntity bizKnowledgeDatabaseEntity = bizKnowledgeDatabaseService.get(id.longValue());
if (bizKnowledgeDatabaseEntity == null && !bizKnowledgeDatabaseEntity.getMemberId().equals(userId.intValue())) { if (bizKnowledgeDatabaseEntity == null || !bizKnowledgeDatabaseEntity.getMemberId().equals(userId.intValue())) {
throw new BusinessException("no database found"); throw new BusinessException("no database found");
} }
BizKnowledgeDatabaseDto bizKnowledgeDatabaseDto = BizKnowledgeDatabaseConvert.entityToDto(bizKnowledgeDatabaseEntity); BizKnowledgeDatabaseDto bizKnowledgeDatabaseDto = BizKnowledgeDatabaseConvert.entityToDto(bizKnowledgeDatabaseEntity);
...@@ -108,7 +108,7 @@ public class DatabaseRestImpl implements DatabaseRest { ...@@ -108,7 +108,7 @@ public class DatabaseRestImpl implements DatabaseRest {
List<BizKnowledgeDatabaseDto> result = new ArrayList<>(); List<BizKnowledgeDatabaseDto> result = new ArrayList<>();
for (Integer id : ids) { for (Integer id : ids) {
BizKnowledgeDatabaseEntity bizKnowledgeDatabaseEntity = bizKnowledgeDatabaseService.get(id.longValue()); BizKnowledgeDatabaseEntity bizKnowledgeDatabaseEntity = bizKnowledgeDatabaseService.get(id.longValue());
if (bizKnowledgeDatabaseEntity == null && !bizKnowledgeDatabaseEntity.getMemberId().equals(userId.intValue())) { if (bizKnowledgeDatabaseEntity == null || !bizKnowledgeDatabaseEntity.getMemberId().equals(userId.intValue())) {
continue; continue;
} }
BizKnowledgeDatabaseDto bizKnowledgeDatabaseDto = BizKnowledgeDatabaseConvert.entityToDto(bizKnowledgeDatabaseEntity); BizKnowledgeDatabaseDto bizKnowledgeDatabaseDto = BizKnowledgeDatabaseConvert.entityToDto(bizKnowledgeDatabaseEntity);
...@@ -142,13 +142,9 @@ public class DatabaseRestImpl implements DatabaseRest { ...@@ -142,13 +142,9 @@ public class DatabaseRestImpl implements DatabaseRest {
List<KnowledgeDatabaseQueryInfoQueryItem> items = bizKnowledgeDatabaseService.queryKnowledgeDatabaseQueryInfo(condition, pagingInfo); List<KnowledgeDatabaseQueryInfoQueryItem> items = bizKnowledgeDatabaseService.queryKnowledgeDatabaseQueryInfo(condition, pagingInfo);
List<BizKnowledgeDatabaseDto> result = new ArrayList<>(); List<BizKnowledgeDatabaseDto> result = new ArrayList<>();
if (CollectionUtils.isNotEmpty(items)) { if (CollectionUtils.isNotEmpty(items)) {
result = items.stream().map( for (KnowledgeDatabaseQueryInfoQueryItem item : items) {
item -> { BizKnowledgeDatabaseDto bizKnowledgeDatabaseDto = BizKnowledgeDatabaseConvert.itemToDto(item);
BizKnowledgeDatabaseDto bizKnowledgeDatabaseDto = List<DatabaseUtil.TableInfo> tableInfos = DatabaseTableInfoCache.getCache(bizKnowledgeDatabaseDto.getId().intValue());
BizKnowledgeDatabaseConvert.itemToDto(item);
List<DatabaseUtil.TableInfo> tableInfos = DatabaseTableInfoCache.getCache(item.getId().intValue());
if (tableInfos == null) { if (tableInfos == null) {
tableInfos = DatabaseUtil.getTableInfo(item.getDbHost(), tableInfos = DatabaseUtil.getTableInfo(item.getDbHost(),
item.getDbPort(), item.getDbPort(),
...@@ -156,14 +152,13 @@ public class DatabaseRestImpl implements DatabaseRest { ...@@ -156,14 +152,13 @@ public class DatabaseRestImpl implements DatabaseRest {
item.getDbPassword(), item.getDbPassword(),
item.getDbName()); item.getDbName());
if (tableInfos == null) { if (tableInfos == null) {
return null; continue;
} }
bizKnowledgeDatabaseDto.setTableInfos(tableInfos);
DatabaseTableInfoCache.updateOrSaveCache(item.getId().intValue(), tableInfos);
} }
return bizKnowledgeDatabaseDto; bizKnowledgeDatabaseDto.setTableInfos(tableInfos);
DatabaseTableInfoCache.updateOrSaveCache(bizKnowledgeDatabaseDto.getId().intValue(), tableInfos);
result.add(bizKnowledgeDatabaseDto);
} }
).collect(Collectors.toList());
} }
return result; return result;
} }
...@@ -216,7 +211,7 @@ public class DatabaseRestImpl implements DatabaseRest { ...@@ -216,7 +211,7 @@ public class DatabaseRestImpl implements DatabaseRest {
UserBaseEntity userBaseEntity = BlContext.getCurrentUserNotException(); UserBaseEntity userBaseEntity = BlContext.getCurrentUserNotException();
Long userId = userBaseEntity.getUserId(); Long userId = userBaseEntity.getUserId();
BizKnowledgeDatabaseEntity bizKnowledgeDatabaseEntity = bizKnowledgeDatabaseService.get(id.longValue()); BizKnowledgeDatabaseEntity bizKnowledgeDatabaseEntity = bizKnowledgeDatabaseService.get(id.longValue());
if (bizKnowledgeDatabaseEntity == null && !bizKnowledgeDatabaseEntity.getMemberId().equals(userId.intValue())) { if (bizKnowledgeDatabaseEntity == null || !bizKnowledgeDatabaseEntity.getMemberId().equals(userId.intValue())) {
throw new BusinessException("no database found"); throw new BusinessException("no database found");
} }
List<DatabaseUtil.TableInfo> tableInfos = DatabaseUtil.getTableInfo(bizKnowledgeDatabaseEntity.getDbHost(), List<DatabaseUtil.TableInfo> tableInfos = DatabaseUtil.getTableInfo(bizKnowledgeDatabaseEntity.getDbHost(),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment