diff --git a/backend/pom.xml b/backend/pom.xml
index 624cc12ee6..321cd4ffcd 100644
--- a/backend/pom.xml
+++ b/backend/pom.xml
@@ -5,7 +5,7 @@
dataease-server
io.dataease
- 1.18.4
+ ${dataease.version}
4.0.0
@@ -204,7 +204,7 @@
io.dataease
dataease-plugin-interface
- 1.18.4
+ ${dataease.version}
guava
@@ -215,12 +215,12 @@
io.dataease
dataease-plugin-view
- 1.18.4
+ ${dataease.version}
io.dataease
dataease-plugin-datasource
- 1.18.4
+ ${dataease.version}
diff --git a/backend/src/main/java/io/dataease/provider/engine/mysql/MysqlDDLProvider.java b/backend/src/main/java/io/dataease/provider/engine/mysql/MysqlDDLProvider.java
index 019da6d96e..259169b614 100644
--- a/backend/src/main/java/io/dataease/provider/engine/mysql/MysqlDDLProvider.java
+++ b/backend/src/main/java/io/dataease/provider/engine/mysql/MysqlDDLProvider.java
@@ -56,11 +56,7 @@ public class MysqlDDLProvider extends DDLProviderImpl {
Integer size = datasetTableField.getSize() * 4;
switch (datasetTableField.getDeExtractType()) {
case 0:
- if (size < 65533) {
- Column_Fields.append("varchar(length)".replace("length", String.valueOf(datasetTableField.getSize()))).append(",`");
- }else {
- Column_Fields.append("longtext").append(",`");
- }
+ Column_Fields.append("longtext").append(",`");
break;
case 1:
size = size < 50? 50 : size;
diff --git a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java
index f504c372f4..559f63cfb6 100644
--- a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java
+++ b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java
@@ -71,6 +71,8 @@ import java.math.RoundingMode;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.locks.ReentrantLock;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
import java.util.stream.Collectors;
/**
@@ -1795,8 +1797,7 @@ public class ChartViewService {
}
private String handleVariable(String sql, ChartExtRequest requestList, QueryProvider qp, DataSetTableDTO table, Datasource ds) throws Exception {
- List sqlVariables = new Gson().fromJson(table.getSqlVariableDetails(), new TypeToken>() {
- }.getType());
+ List sqlVariables = new Gson().fromJson(table.getSqlVariableDetails(), new TypeToken>() {}.getType());
if (requestList != null && CollectionUtils.isNotEmpty(requestList.getFilter())) {
for (ChartExtFilterRequest chartExtFilterRequest : requestList.getFilter()) {
if (CollectionUtils.isEmpty(chartExtFilterRequest.getValue())) {
@@ -1845,7 +1846,7 @@ public class ChartViewService {
}
}
}
- sql = dataSetTableService.removeVariables(sql, ds.getType());
+ sql = dataSetTableService.handleVariableDefaultValue(sql, null, ds.getType());
return sql;
}
diff --git a/backend/src/main/java/io/dataease/service/chart/ViewPluginBaseServiceImpl.java b/backend/src/main/java/io/dataease/service/chart/ViewPluginBaseServiceImpl.java
index c77eba238c..cc2c25f6be 100644
--- a/backend/src/main/java/io/dataease/service/chart/ViewPluginBaseServiceImpl.java
+++ b/backend/src/main/java/io/dataease/service/chart/ViewPluginBaseServiceImpl.java
@@ -123,7 +123,6 @@ public class ViewPluginBaseServiceImpl implements ViewPluginBaseService {
case SQL:
String sql = dataTableInfoDTO.isBase64Encryption() ? new String(java.util.Base64.getDecoder().decode(dataTableInfoDTO.getSql())) : dataTableInfoDTO.getSql();
tableName = dataSetTableService.handleVariableDefaultValue(sql, null, pluginViewSet.getDsType());
-
tableName = "(" + sqlFix(tableName) + ")";
break;
case CUSTOM:
diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java
index 2a6ba0f346..afa591b348 100644
--- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java
+++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java
@@ -144,7 +144,7 @@ public class DataSetTableService {
private static boolean isUpdatingDatasetTableStatus = false;
private static final String lastUpdateTime = "${__last_update_time__}";
private static final String currentUpdateTime = "${__current_update_time__}";
- private static final String regex = "\\$\\{(.*?)\\}";
+ public static final String regex = "\\$\\{(.*?)\\}";
private static final String SubstitutedParams = "DATAEASE_PATAMS_BI";
private static final String SubstitutedSql = " 'BI' = 'BI' ";
@@ -701,7 +701,7 @@ public class DataSetTableService {
datasourceRequest.setDatasource(ds);
DataTableInfoDTO dataTableInfo = new Gson().fromJson(datasetTable.getInfo(), DataTableInfoDTO.class);
String sql = dataTableInfo.isBase64Encryption() ? new String(java.util.Base64.getDecoder().decode(dataTableInfo.getSql())) : dataTableInfo.getSql();
- sql = handleVariableDefaultValue(sql, null, ds.getType());
+ sql = handleVariableDefaultValue(sql, datasetTable.getSqlVariableDetails(), ds.getType());
QueryProvider qp = ProviderFactory.getQueryProvider(ds.getType());
datasourceRequest.setQuery(
qp.createQuerySQLWithPage(sql, fields, page, pageSize, realSize, false, null, rowPermissionsTree));
@@ -1058,15 +1058,15 @@ public class DataSetTableService {
Matcher matcher = pattern.matcher(sql);
while (matcher.find()) {
SqlVariableDetails defaultsSqlVariableDetail = null;
- List defaultsSqlVariableDetails = new Gson().fromJson(sqlVariableDetails, new TypeToken>() {
- }.getType());
+ List defaultsSqlVariableDetails = new Gson().fromJson(sqlVariableDetails, new TypeToken>() {}.getType());
for (SqlVariableDetails sqlVariableDetail : defaultsSqlVariableDetails) {
if (matcher.group().substring(2, matcher.group().length() - 1).equalsIgnoreCase(sqlVariableDetail.getVariableName())) {
defaultsSqlVariableDetail = sqlVariableDetail;
break;
}
}
- if (defaultsSqlVariableDetail != null && StringUtils.isNotEmpty(defaultsSqlVariableDetail.getDefaultValue())) {
+ if (defaultsSqlVariableDetail != null && defaultsSqlVariableDetail.getDefaultValueScope() != null &&
+ defaultsSqlVariableDetail.getDefaultValueScope().equals(SqlVariableDetails.DefaultValueScope.ALLSCOPE) && StringUtils.isNotEmpty(defaultsSqlVariableDetail.getDefaultValue())) {
sql = sql.replace(matcher.group(), defaultsSqlVariableDetail.getDefaultValue());
}
}
@@ -2264,6 +2264,9 @@ public class DataSetTableService {
}
Set nameSet = new HashSet<>();
for (DataSetTableRequest table : datasetTable) {
+ if(StringUtils.isEmpty(table.getName())){
+ throw new RuntimeException(Translator.get("I18n_name_cant_empty"));
+ }
nameSet.add(table.getName());
}
if (nameSet.size() != datasetTable.size()) {
diff --git a/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java b/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java
index e539ae10c8..35651738da 100644
--- a/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java
+++ b/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java
@@ -70,6 +70,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.io.*;
+import java.nio.charset.StandardCharsets;
import java.util.*;
import java.util.stream.Collectors;
@@ -741,6 +742,39 @@ public class ExtractDataService {
totalSheets = excelXlsxReader.totalSheets;
}
+ if (StringUtils.equalsIgnoreCase(suffix, "csv")) {
+ List fields = new ArrayList<>();
+ BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(excelSheetData.getPath()), StandardCharsets.UTF_8));
+ String s = reader.readLine();// first line
+ String[] split = s.split(",");
+ for (String s1 : split) {
+ TableField tableFiled = new TableField();
+ tableFiled.setFieldName(s1);
+ tableFiled.setRemarks(s1);
+ tableFiled.setFieldType("TEXT");
+ fields.add(tableFiled);
+ }
+ List> csvData = new ArrayList<>();
+ String line;
+ while ((line = reader.readLine()) != null) {
+ if(line.endsWith(",")){
+ List list = new ArrayList<>(Arrays.asList(line.split(",")));
+ list.add("");
+ csvData.add(list);
+ }else {
+ csvData.add(Arrays.asList(line.split(",")));
+ }
+ }
+ ExcelSheetData csvSheetData = new ExcelSheetData();
+ String[] fieldArray = fields.stream().map(TableField::getFieldName).toArray(String[]::new);
+ csvSheetData.setFields(fields);
+ csvSheetData.setData(csvData);
+ csvSheetData.setExcelLabel(excelSheetData.getExcelLabel());
+ csvSheetData.setFieldsMd5(Md5Utils.md5(StringUtils.join(fieldArray, ",")));
+ totalSheets = Arrays.asList(csvSheetData);
+ }
+
+
for (ExcelSheetData sheet : totalSheets) {
if (sheet.getExcelLabel().equalsIgnoreCase(excelSheetData.getExcelLabel())) {
for (List dataItem : sheet.getData()) {
diff --git a/backend/src/main/java/io/dataease/service/dataset/impl/direct/DirectFieldService.java b/backend/src/main/java/io/dataease/service/dataset/impl/direct/DirectFieldService.java
index a06283d097..75c5001c82 100644
--- a/backend/src/main/java/io/dataease/service/dataset/impl/direct/DirectFieldService.java
+++ b/backend/src/main/java/io/dataease/service/dataset/impl/direct/DirectFieldService.java
@@ -171,7 +171,7 @@ public class DirectFieldService implements DataSetFieldService {
if (dataTableInfoDTO.isBase64Encryption()) {
sql = new String(java.util.Base64.getDecoder().decode(sql));
}
- sql = dataSetTableService.removeVariables(sql, ds.getType());
+ sql = dataSetTableService.handleVariableDefaultValue(sql, datasetTable.getSqlVariableDetails(), ds.getType());
datasourceRequest.setQuery(qp.createQuerySQLAsTmp(sql, permissionFields, !needSort, customFilter, rowPermissionsTree, deSortFields));
} else if (StringUtils.equalsIgnoreCase(datasetTable.getType(), DatasetType.CUSTOM.toString())) {
DataTableInfoDTO dt = new Gson().fromJson(datasetTable.getInfo(), DataTableInfoDTO.class);
diff --git a/backend/src/main/java/io/dataease/service/panel/PanelAppTemplateService.java b/backend/src/main/java/io/dataease/service/panel/PanelAppTemplateService.java
index bd0b44d568..8311ea5a7d 100644
--- a/backend/src/main/java/io/dataease/service/panel/PanelAppTemplateService.java
+++ b/backend/src/main/java/io/dataease/service/panel/PanelAppTemplateService.java
@@ -363,7 +363,7 @@ public class PanelAppTemplateService {
//替换datasetId
chartViewField.setTableId(datasetsRealMap.get(chartViewField.getTableId()));
//替换chartViewId
- chartViewField.setChartId(chartViewsRealMap.get(chartViewField.getId()));
+ chartViewField.setChartId(chartViewsRealMap.get(chartViewField.getChartId()));
//替换datasetFieldId
datasetFieldsRealMap.forEach((k, v) -> {
chartViewField.setOriginName(chartViewField.getOriginName().replaceAll(k, v));
diff --git a/backend/src/main/resources/i18n/messages_en_US.properties b/backend/src/main/resources/i18n/messages_en_US.properties
index 3e0774c086..9f52ae39b0 100644
--- a/backend/src/main/resources/i18n/messages_en_US.properties
+++ b/backend/src/main/resources/i18n/messages_en_US.properties
@@ -272,3 +272,4 @@ I18N_PANEL_PDF_TEMPLATE_ONLY_PIC=Default template only screenshot
\u8FB9\u68468=Border 8
\u8FB9\u68469=Border 9
\u8FB9\u684610=Border 10
+I18n_name_cant_empty=Name can not be empty!
\ No newline at end of file
diff --git a/backend/src/main/resources/i18n/messages_zh_CN.properties b/backend/src/main/resources/i18n/messages_zh_CN.properties
index 4016b32f2f..7634ab45ad 100644
--- a/backend/src/main/resources/i18n/messages_zh_CN.properties
+++ b/backend/src/main/resources/i18n/messages_zh_CN.properties
@@ -262,4 +262,5 @@ I18N_LOG_FORMAT_PREFIX=\u4EE5%s\u3010%s\u3011\u6743\u9650
I18N_CRON_ERROR=cron\u8868\u8FBE\u5F0F\u9519\u8BEF
I18N_PANEL_PDF_TEMPLATE_WITH_PARAMS=\u9ED8\u8BA4\u6A21\u677F(\u52A0\u53C2\u6570\u6837\u5F0F)
I18N_PANEL_PDF_TEMPLATE_ONLY_PIC=\u9ED8\u8BA4\u6A21\u677F(\u53EA\u622A\u56FE)
+I18n_name_cant_empty=名称不能为空!
diff --git a/backend/src/main/resources/i18n/messages_zh_TW.properties b/backend/src/main/resources/i18n/messages_zh_TW.properties
index e9041808b6..fe4718a71d 100644
--- a/backend/src/main/resources/i18n/messages_zh_TW.properties
+++ b/backend/src/main/resources/i18n/messages_zh_TW.properties
@@ -268,3 +268,4 @@ I18N_PANEL_PDF_TEMPLATE_ONLY_PIC=\u9ED8\u8A8D\u6A21\u677F(\u53EA\u622A\u5716)
\u8FB9\u68468=\u908A\u6846 8
\u8FB9\u68469=\u908A\u6846 9
\u8FB9\u684610=\u908A\u6846 10
+I18n_name_cant_empty=名稱不能為空!
\ No newline at end of file
diff --git a/frontend/package.json b/frontend/package.json
index d24e88ba55..9e1a52ee7c 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -1,6 +1,6 @@
{
"name": "dataease",
- "version": "1.18.4",
+ "version": "1.18.5",
"description": "dataease front",
"private": true,
"scripts": {
diff --git a/frontend/pom.xml b/frontend/pom.xml
index 20bf7b361b..73f8cb5587 100644
--- a/frontend/pom.xml
+++ b/frontend/pom.xml
@@ -6,7 +6,7 @@
dataease-server
io.dataease
- 1.18.4
+ ${dataease.version}
4.0.0
diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js
index 765cc7595a..86623f3306 100644
--- a/frontend/src/lang/en.js
+++ b/frontend/src/lang/en.js
@@ -1519,12 +1519,14 @@ export default {
p_center: 'Center'
},
dataset: {
+ scope_edit: 'Effective only when editing',
+ scope_all: 'Effect globally when the dataset is previewed',
spend_time: 'Spend',
sql: 'SQL',
sql_result: 'Result',
parse_filed: 'Parse Field',
field_rename: 'Rename Field',
- params_work: 'Effective only when editing SQL',
+ params_work: 'Effective only when editing: parameter values are effective only when editing data sets; Global Effective: It takes effect in dataset view, preview, and view where dataset is used.',
sql_variable_limit_1: '1、SQL variables can only be used in where conditions',
sql_variable_limit_2: '2、Example:select * from table_name where column_name1=\'${param_name1}\' and column_name2 in \'${param_name2}\'',
select_year: 'Select Year',
diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js
index 8c23dfbe84..83d8445394 100644
--- a/frontend/src/lang/tw.js
+++ b/frontend/src/lang/tw.js
@@ -1513,12 +1513,14 @@ export default {
p_center: '居中'
},
dataset: {
+ scope_edit: '僅編輯時生效',
+ scope_all: '數据集預覽時全域生效',
spend_time: '耗時',
sql: 'SQL 語句',
sql_result: '運行結果',
parse_filed: '解析字段',
field_rename: '字段重命名',
- params_work: '僅在編輯 sql 時生效',
+ params_work: '僅編輯時生效:參數值僅在數据集編輯時生效; 全域生效:在數据集查看、預覽、以及用到數据集的視圖中均生效。',
sql_variable_limit_1: '1、SQL變數只能在WHERE條件中使用',
sql_variable_limit_2: '2、示例:select * from table_name where column_name1=\'${param_name1}\' and column_name2 in \'${param_name2}\'',
selesql_variable_limit_2ct_year: '選擇年',
diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js
index 767c2d7f44..d4851c1e17 100644
--- a/frontend/src/lang/zh.js
+++ b/frontend/src/lang/zh.js
@@ -1512,12 +1512,14 @@ export default {
p_center: '居中'
},
dataset: {
+ scope_edit: '仅编辑时生效',
+ scope_all: '数据集预览时全局生效',
spend_time: '耗时',
sql: 'SQL 语句',
sql_result: '运行结果',
parse_filed: '解析字段',
field_rename: '字段重命名',
- params_work: '仅在编辑sql时生效',
+ params_work: '仅编辑时生效:参数值仅在数据集编辑时生效;全局生效:在数据集查看、预览、以及用到数据集的视图中均生效。',
select_year: '选择年',
sql_variable_limit_1: '1、SQL 变量只能在 WHERE 条件中使用',
sql_variable_limit_2: '2、示例:select * from table_name where column_name1=\'${param_name1}\' and column_name2 in \'${param_name2}\'',
diff --git a/frontend/src/views/dataset/add/AddSQL.vue b/frontend/src/views/dataset/add/AddSQL.vue
index 8d085773ef..25c7b80365 100644
--- a/frontend/src/views/dataset/add/AddSQL.vue
+++ b/frontend/src/views/dataset/add/AddSQL.vue
@@ -478,8 +478,21 @@
v-model="scope.row.defaultValue"
size="small"
type="text"
- :placeholder="$t('fu.search_bar.please_input')"
- />
+ :placeholder="$t('fu.search_bar.please_input')">
+
+
+
+
-
+ >
+
+
+
+
+
@@ -653,6 +695,9 @@ export default {
dialogTitle: '',
variables: [],
variablesTmp: [],
+ defaultValueScopeList: [
+ { label: this.$t('dataset.scope_edit'), value: 'EDIT' },
+ { label: this.$t('dataset.scope_all'), value: 'ALLSCOPE' }],
fieldOptions: [
{ label: this.$t('dataset.text'), value: 'TEXT' },
{ label: this.$t('dataset.value'), value: 'LONG' },
@@ -1038,6 +1083,9 @@ export default {
for (let i = 0; i < this.variables.length; i++) {
if (this.variables[i].variableName === name) {
obj = this.variables[i]
+ if(!obj.hasOwnProperty("defaultValueScope")){
+ obj.defaultValueScope = 'EDIT'
+ }
}
}
if (obj === undefined) {
@@ -1047,7 +1095,8 @@ export default {
type: [],
required: false,
defaultValue: '',
- details: ''
+ details: '',
+ defaultValueScope: 'EDIT'
}
obj.type.push('TEXT')
}
@@ -1093,8 +1142,13 @@ export default {
padding-bottom: 80px;
}
+ .de-group__prepend {
+ width: 100%;
+ }
+
.el-date-editor {
width: 100%;
+ display: inline-block;
}
.select-type {
diff --git a/frontend/src/views/dataset/data/UpdateInfo.vue b/frontend/src/views/dataset/data/UpdateInfo.vue
index 6cd42c83ed..0d13f46cd1 100644
--- a/frontend/src/views/dataset/data/UpdateInfo.vue
+++ b/frontend/src/views/dataset/data/UpdateInfo.vue
@@ -574,7 +574,7 @@ export default {
startTime: '',
rate: 'SIMPLE',
cron: '',
- endTime: '',
+ endTime: 0,
end: '0',
extraData: {
simple_cron_type: 'hour',
@@ -779,6 +779,7 @@ export default {
this.taskForm.name =
this.table.name + ' ' + this.$t('dataset.task_update')
this.taskForm.startTime = new Date()
+ this.taskForm.endTime = new Date()
this.update_task_dialog_title = this.$t('dataset.task_add_title')
} else {
// update
@@ -908,6 +909,7 @@ export default {
}
this.incrementalConfig.tableId = this.table.id
task.startTime = new Date(task.startTime).getTime()
+ console.log(task.endTime)
task.endTime = new Date(task.endTime).getTime()
task.tableId = this.table.id
const form = JSON.parse(JSON.stringify(task))
@@ -1030,7 +1032,7 @@ export default {
onRateChange() {
if (this.taskForm.rate === 'SIMPLE') {
this.taskForm.end = '0'
- this.taskForm.endTime = ''
+ this.taskForm.endTime = 0
this.taskForm.cron = ''
this.showCron = false
}
diff --git a/frontend/src/views/dataset/data/UpdateRecords.vue b/frontend/src/views/dataset/data/UpdateRecords.vue
index 3e6fa82ebe..c3a0ed622d 100644
--- a/frontend/src/views/dataset/data/UpdateRecords.vue
+++ b/frontend/src/views/dataset/data/UpdateRecords.vue
@@ -530,7 +530,7 @@ export default {
startTime: '',
rate: 'SIMPLE',
cron: '',
- endTime: '',
+ endTime: 0,
end: '0',
extraData: {
simple_cron_type: 'hour',
@@ -707,6 +707,7 @@ export default {
this.resetTaskForm()
this.taskForm.name = this.table.name + ' ' + this.$t('dataset.task_update')
this.taskForm.startTime = new Date()
+ this.taskForm.endTime = new Date()
this.update_task_dialog_title = this.$t('dataset.task_add_title')
} else {
this.taskForm = JSON.parse(JSON.stringify(task))
@@ -854,7 +855,7 @@ export default {
onRateChange() {
if (this.taskForm.rate === 'SIMPLE') {
this.taskForm.end = '0'
- this.taskForm.endTime = ''
+ this.taskForm.endTime = 0
this.taskForm.cron = ''
}
if (this.taskForm.rate === 'SIMPLE_CRON') {
diff --git a/frontend/src/views/system/task/Form.vue b/frontend/src/views/system/task/Form.vue
index 82f3b62848..36d506bce0 100644
--- a/frontend/src/views/system/task/Form.vue
+++ b/frontend/src/views/system/task/Form.vue
@@ -295,7 +295,7 @@ export default {
tableId: '',
rate: 'SIMPLE',
cron: '',
- endTime: '',
+ endTime: 0,
end: '0',
extraData: {
simple_cron_type: 'hour',
@@ -391,6 +391,7 @@ export default {
this.taskDetail = { datasetName, id, tableId }
if (!id) {
this.taskForm.startTime = new Date()
+ this.taskForm.endTime = new Date()
return
}
this.getTaskDetail(id)
@@ -418,7 +419,7 @@ export default {
onRateChange() {
if (this.taskForm.rate === 'SIMPLE') {
this.taskForm.end = '0'
- this.taskForm.endTime = ''
+ this.taskForm.endTime = 0
this.taskForm.cron = ''
this.showCron = false
}
diff --git a/mobile/package.json b/mobile/package.json
index 51f483e43b..7817f9bb01 100644
--- a/mobile/package.json
+++ b/mobile/package.json
@@ -1,6 +1,6 @@
{
"name": "dataease-mobile",
- "version": "1.18.4",
+ "version": "1.18.5",
"private": true,
"scripts": {
"serve": "npm run dev:h5",
diff --git a/mobile/pom.xml b/mobile/pom.xml
index 3cfaae85d2..45b241d913 100644
--- a/mobile/pom.xml
+++ b/mobile/pom.xml
@@ -6,7 +6,7 @@
dataease-server
io.dataease
- 1.18.4
+ ${dataease.version}
4.0.0
diff --git a/pom.xml b/pom.xml
index c9eebe174c..690f74bc60 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
4.0.0
io.dataease
dataease-server
- 1.18.4
+ ${dataease.version}
pom
@@ -15,6 +15,10 @@
+
+ 1.18.5
+
+
dataease