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 f8cdfaf41c..7c80d40166 100644 --- a/backend/src/main/java/io/dataease/service/datasource/DatasourceService.java +++ b/backend/src/main/java/io/dataease/service/datasource/DatasourceService.java @@ -1,5 +1,7 @@ package io.dataease.service.datasource; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.google.gson.Gson; import com.google.gson.JsonArray; import com.google.gson.JsonObject; @@ -140,6 +142,11 @@ public class DatasourceService { if (StringUtils.isNotEmpty(configuration.getCustomDriver()) && !configuration.getCustomDriver().equalsIgnoreCase("default")) { datasourceDTO.setCalculationMode(DatasourceCalculationMode.DIRECT); } + JSONObject jsonObject = JSONObject.parseObject(datasourceDTO.getConfiguration()); + if(jsonObject.getString("queryTimeout") == null){ + jsonObject.put("queryTimeout", 30); + datasourceDTO.setConfiguration(jsonObject.toString()); + } } if(datasourceDTO.getType().equalsIgnoreCase(DatasourceTypes.mysql.toString())){ diff --git a/frontend/src/views/system/datasource/DsForm.vue b/frontend/src/views/system/datasource/DsForm.vue index 4bd16b2fb4..cc050e7955 100644 --- a/frontend/src/views/system/datasource/DsForm.vue +++ b/frontend/src/views/system/datasource/DsForm.vue @@ -319,9 +319,6 @@ export default { } else { this.form.configuration = JSON.parse(this.form.configuration) - if(this.form.configuration.queryTimeout === undefined){ - this.form.configuration.queryTimeout = 30 - } } this.disabled = this.params && this.params.id && this.params.showModel && this.params.showModel === 'show' && !this.canEdit },