From 1220b867df3094bc45aec18cee29eaa1cb38698a Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Mon, 7 Apr 2025 10:42:11 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DDemo=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=BA=90=E5=88=A0=E6=8E=89=E9=87=8D=E5=90=AF=E5=90=8E=E6=81=A2?= =?UTF-8?q?=E5=A4=8D=E9=97=AE=E9=A2=98=20#15393?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datasource/manage/EngineManage.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/core/core-backend/src/main/java/io/dataease/datasource/manage/EngineManage.java b/core/core-backend/src/main/java/io/dataease/datasource/manage/EngineManage.java index 4a0810a277..42db5102cb 100644 --- a/core/core-backend/src/main/java/io/dataease/datasource/manage/EngineManage.java +++ b/core/core-backend/src/main/java/io/dataease/datasource/manage/EngineManage.java @@ -12,6 +12,8 @@ import io.dataease.extensions.datasource.dto.DatasourceDTO; import io.dataease.extensions.datasource.dto.DatasourceRequest; import io.dataease.extensions.datasource.factory.ProviderFactory; import io.dataease.result.ResultMessage; +import io.dataease.template.dao.auto.entity.DeTemplateVersion; +import io.dataease.template.dao.auto.mapper.DeTemplateVersionMapper; import io.dataease.utils.BeanUtils; import io.dataease.utils.JsonUtil; import io.dataease.utils.ModelUtils; @@ -23,6 +25,8 @@ import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import java.time.LocalDateTime; +import java.time.temporal.ChronoUnit; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -43,6 +47,9 @@ public class EngineManage { @Value("${dataease.path.engine:jdbc:h2:/opt/dataease2.0/desktop_data;AUTO_SERVER=TRUE;AUTO_RECONNECT=TRUE;MODE=MySQL;CASE_INSENSITIVE_IDENTIFIERS=TRUE;DATABASE_TO_UPPER=FALSE}") private String engineUrl; + @Resource + private DeTemplateVersionMapper deTemplateVersionMapper; + public CoreDeEngine info() throws DEException { List deEngines = deEngineMapper.selectList(null); @@ -163,7 +170,10 @@ public class EngineManage { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("id", 985188400292302848L); queryWrapper.ne("create_time", 1715053684176L); - if (!datasourceMapper.exists(queryWrapper) && !ModelUtils.isDesktop()) { + // 版本检查 + QueryWrapper queryVersionWrapper = new QueryWrapper<>(); + queryVersionWrapper.eq("version", "985188400292302848"); + if (!datasourceMapper.exists(queryWrapper) && !deTemplateVersionMapper.exists(queryVersionWrapper) && !ModelUtils.isDesktop()) { Pattern WITH_SQL_FRAGMENT = Pattern.compile("jdbc:mysql://(.*):(\\d+)/(.*)\\?(.*)"); Matcher matcher = WITH_SQL_FRAGMENT.matcher(env.getProperty("spring.datasource.url")); if (!matcher.find()) { @@ -191,6 +201,13 @@ public class EngineManage { initDatasource.setTaskStatus("WaitingForExecution"); datasourceMapper.deleteById(985188400292302848L); datasourceMapper.insert(initDatasource); + + DeTemplateVersion version = new DeTemplateVersion(); + version.setVersion("985188400292302848"); + version.setScript("Demo"); + version.setInstalledOn(LocalDateTime.now().truncatedTo(ChronoUnit.MINUTES)); + version.setSuccess(true); + deTemplateVersionMapper.insert(version); } }