From ad71308564327587cbe18855671fd0e463223bd9 Mon Sep 17 00:00:00 2001 From: junjie Date: Mon, 10 May 2021 17:57:31 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=95=B0=E6=8D=AE=E9=9B=86):=E8=87=AA?= =?UTF-8?q?=E5=8A=A9=E6=95=B0=E6=8D=AE=E9=9B=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commons/utils/DorisTableUtils.java | 9 ++++++--- .../service/dataset/DataSetTableService.java | 19 +++++++++++++++++-- frontend/src/views/dataset/add/AddCustom.vue | 2 +- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/backend/src/main/java/io/dataease/commons/utils/DorisTableUtils.java b/backend/src/main/java/io/dataease/commons/utils/DorisTableUtils.java index 1b61020a14..56c9e2649f 100644 --- a/backend/src/main/java/io/dataease/commons/utils/DorisTableUtils.java +++ b/backend/src/main/java/io/dataease/commons/utils/DorisTableUtils.java @@ -2,16 +2,19 @@ package io.dataease.commons.utils; public class DorisTableUtils { - public static String dorisName(String datasetId){ + public static String dorisName(String datasetId) { return "ds_" + datasetId.replace("-", "_"); } - public static String dorisTmpName(String dorisName){ + public static String dorisTmpName(String dorisName) { return "tmp_" + dorisName; } - public static String dorisDeleteName(String dorisName){ + public static String dorisDeleteName(String dorisName) { return "delete_" + dorisName; } + public static String dorisFieldName(String dorisName) { + return "f_" + Md5Utils.md5(dorisName); + } } 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 3bff8687e7..1283fa0a49 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -371,6 +371,20 @@ public class DataSetTableService { }).collect(Collectors.toList()); } + // 获取每个字段在当前de数据库中的name,作为sql查询后的remarks返回前端展示 + List checkedFieldList = new ArrayList<>(); + dataTableInfoDTO.getList().forEach(ele -> { + checkedFieldList.addAll(dataSetTableFieldsService.getListByIds(ele.getCheckedFields())); + }); + for (DatasetTableField datasetTableField : checkedFieldList) { + for (TableFiled tableFiled : fields) { + if (StringUtils.equalsIgnoreCase(tableFiled.getFieldName(), DorisTableUtils.dorisFieldName(datasetTableField.getTableId() + "_" + datasetTableField.getDataeaseName()))) { + tableFiled.setRemarks(datasetTableField.getName()); + break; + } + } + } + Map map = new HashMap<>(); map.put("fields", fields); map.put("data", jsonArray); @@ -379,11 +393,11 @@ public class DataSetTableService { } private String getCustomSQL(DataTableInfoDTO dataTableInfoDTO, List list) { - Map customInfo = new HashMap<>(); + Map customInfo = new TreeMap<>(); dataTableInfoDTO.getList().forEach(ele -> { String table = DorisTableUtils.dorisName(ele.getTableId()); List fields = dataSetTableFieldsService.getListByIds(ele.getCheckedFields()); - String[] array = fields.stream().map(f -> table + "." + f.getDataeaseName()).toArray(String[]::new); + String[] array = fields.stream().map(f -> table + "." + f.getDataeaseName() + " AS " + DorisTableUtils.dorisFieldName(ele.getTableId() + "_" + f.getDataeaseName())).toArray(String[]::new); customInfo.put(table, array); }); DataTableInfoCustomUnion first = dataTableInfoDTO.getList().get(0); @@ -468,6 +482,7 @@ public class DataSetTableService { datasetTableField.setId(null); datasetTableField.setTableId(datasetTable.getId()); datasetTableField.setColumnIndex(i); + datasetTableField.setDataeaseName(DorisTableUtils.dorisFieldName(datasetTable.getId() + "_" + datasetTableField.getDataeaseName())); } dataSetTableFieldsService.batchEdit(fieldList); // custom 创建doris视图 diff --git a/frontend/src/views/dataset/add/AddCustom.vue b/frontend/src/views/dataset/add/AddCustom.vue index 746630da57..ac4f1f99e1 100644 --- a/frontend/src/views/dataset/add/AddCustom.vue +++ b/frontend/src/views/dataset/add/AddCustom.vue @@ -28,7 +28,7 @@ - +