From 412b2776a7819d585c959e066857c8dd56223e08 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Tue, 5 Mar 2024 12:16:02 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E3=80=90=E7=B3=BB=E7=BB=9F=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E3=80=91=E6=94=AF=E6=8C=81=E5=BC=95=E6=93=8E=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/dataease/datasource/server/DatasourceServer.java | 4 ++++ .../java/io/dataease/datasource/server/EngineServer.java | 7 +++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/core/core-backend/src/main/java/io/dataease/datasource/server/DatasourceServer.java b/core/core-backend/src/main/java/io/dataease/datasource/server/DatasourceServer.java index 4b55f05a98..5572be86d4 100644 --- a/core/core-backend/src/main/java/io/dataease/datasource/server/DatasourceServer.java +++ b/core/core-backend/src/main/java/io/dataease/datasource/server/DatasourceServer.java @@ -650,10 +650,14 @@ public class DatasourceServer implements DatasourceApi { } private DatasourceDTO validate(CoreDatasource coreDatasource) { + String lastStatus = coreDatasource.getStatus(); DatasourceDTO datasourceDTO = new DatasourceDTO(); BeanUtils.copyBean(datasourceDTO, coreDatasource); try { checkDatasourceStatus(coreDatasource); + if(StringUtils.isNotEmpty(lastStatus) && StringUtils.isNotEmpty(coreDatasource.getStatus()) && lastStatus.equalsIgnoreCase("Error") && coreDatasource.getStatus().equalsIgnoreCase("Success")){ + calciteProvider.update(datasourceDTO); + } } catch (Exception e) { coreDatasource.setStatus("Error"); DEException.throwException(e.getMessage()); diff --git a/core/core-backend/src/main/java/io/dataease/datasource/server/EngineServer.java b/core/core-backend/src/main/java/io/dataease/datasource/server/EngineServer.java index a4930a69f0..a2ca1de3dd 100644 --- a/core/core-backend/src/main/java/io/dataease/datasource/server/EngineServer.java +++ b/core/core-backend/src/main/java/io/dataease/datasource/server/EngineServer.java @@ -5,6 +5,7 @@ import io.dataease.api.ds.EngineApi; import io.dataease.datasource.dao.auto.entity.CoreDeEngine; import io.dataease.datasource.dao.auto.mapper.CoreDeEngineMapper; import io.dataease.datasource.manage.EngineManage; +import io.dataease.datasource.provider.CalciteProvider; import io.dataease.utils.BeanUtils; import io.dataease.utils.IDUtils; import jakarta.annotation.Resource; @@ -24,7 +25,8 @@ public class EngineServer implements EngineApi { private CoreDeEngineMapper deEngineMapper; @Resource private EngineManage engineManage; - + @Resource + private CalciteProvider calciteProvider; @Override public DatasourceDTO getEngine() { @@ -41,15 +43,16 @@ public class EngineServer implements EngineApi { if (StringUtils.isNotEmpty(datasourceDTO.getConfiguration())) { datasourceDTO.setConfiguration(new String(Base64.getDecoder().decode(datasourceDTO.getConfiguration()))); } - CoreDeEngine coreDeEngine = new CoreDeEngine(); BeanUtils.copyBean(coreDeEngine, datasourceDTO); if(coreDeEngine.getId() == null){ coreDeEngine.setId(IDUtils.snowID()); + datasourceDTO.setId(coreDeEngine.getId()); deEngineMapper.insert(coreDeEngine); }else { deEngineMapper.updateById(coreDeEngine); } + calciteProvider.update(datasourceDTO); } @Override