diff --git a/backend/src/main/java/io/dataease/service/datasource/DatasourceService.java b/backend/src/main/java/io/dataease/service/datasource/DatasourceService.java index 900c9ef98d..c29f1bf94a 100644 --- a/backend/src/main/java/io/dataease/service/datasource/DatasourceService.java +++ b/backend/src/main/java/io/dataease/service/datasource/DatasourceService.java @@ -292,6 +292,7 @@ public class DatasourceService { public void updateDatasource(String id, Datasource datasource) { DatasourceExample example = new DatasourceExample(); example.createCriteria().andIdEqualTo(id); + checkAndUpdateDatasourceStatus(datasource); datasourceMapper.updateByExampleSelective(datasource, example); handleConnectionPool(id); } @@ -363,7 +364,6 @@ public class DatasourceService { DatasourceRequest datasourceRequest = new DatasourceRequest(); datasourceRequest.setDatasource(datasource); datasourceStatus = datasourceProvider.checkStatus(datasourceRequest); - if (datasource.getType().equalsIgnoreCase("api")) { List apiDefinitionList = new Gson().fromJson(datasource.getConfiguration(), new TypeToken>() { }.getType()); @@ -377,6 +377,7 @@ public class DatasourceService { } } if (success == apiDefinitionList.size()) { + datasource.setStatus(datasourceStatus); return ResultHolder.success(datasource); } if (success > 0 && success < apiDefinitionList.size()) {