From 9e5fde11b59c8fb5cba0a27b8511115208c2ca0d Mon Sep 17 00:00:00 2001 From: taojinlong Date: Wed, 30 Mar 2022 23:51:55 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A1=8C=E6=9D=83=E9=99=90=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/dataset/DataSetGroupController.java | 2 -- .../io/dataease/provider/query/db2/Db2QueryProvider.java | 4 ++-- .../io/dataease/provider/query/es/EsQueryProvider.java | 4 ++-- .../io/dataease/provider/query/hive/HiveQueryProvider.java | 4 ++-- .../provider/query/impala/ImpalaQueryProvider.java | 4 ++-- .../provider/query/mongodb/MongoQueryProvider.java | 4 ++-- .../dataease/provider/query/mysql/MysqlQueryProvider.java | 4 ++-- .../provider/query/oracle/OracleQueryProvider.java | 4 ++-- .../io/dataease/provider/query/pg/PgQueryProvider.java | 4 ++-- .../provider/query/redshift/RedshiftQueryProvider.java | 4 ++-- .../provider/query/sqlserver/SqlserverQueryProvider.java | 4 ++-- .../io/dataease/service/dataset/DataSetGroupService.java | 6 +++--- .../io/dataease/service/dataset/PermissionService.java | 7 ++++--- .../io/dataease/service/datasource/DatasourceService.java | 2 +- frontend/src/lang/en.js | 2 ++ frontend/src/lang/tw.js | 2 ++ frontend/src/lang/zh.js | 2 ++ frontend/src/views/system/datasource/DsTree.vue | 4 ++++ 18 files changed, 38 insertions(+), 29 deletions(-) diff --git a/backend/src/main/java/io/dataease/controller/dataset/DataSetGroupController.java b/backend/src/main/java/io/dataease/controller/dataset/DataSetGroupController.java index c16047128f..9487c8174c 100644 --- a/backend/src/main/java/io/dataease/controller/dataset/DataSetGroupController.java +++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetGroupController.java @@ -32,8 +32,6 @@ public class DataSetGroupController { @Resource private DataSetGroupService dataSetGroupService; @Resource - private ExtractDataService extractDataService; - @Resource private KettleService kettleService; @DePermissions(value = { diff --git a/backend/src/main/java/io/dataease/provider/query/db2/Db2QueryProvider.java b/backend/src/main/java/io/dataease/provider/query/db2/Db2QueryProvider.java index 2acf8ac7a5..cec11a5fb2 100644 --- a/backend/src/main/java/io/dataease/provider/query/db2/Db2QueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/db2/Db2QueryProvider.java @@ -812,8 +812,8 @@ public class Db2QueryProvider extends QueryProvider { whereValue = "''"; } else if (StringUtils.equalsIgnoreCase(filterItemDTO.getTerm(), "not_empty")) { whereValue = "''"; - } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "in")) { - whereValue = "('" + StringUtils.join(value, "','") + "')"; + } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "in") || StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "not in")) { + whereValue = "('" + String.join("','", value.split(",")) + "')"; } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "like")) { whereValue = "'%" + value + "%'"; } else { diff --git a/backend/src/main/java/io/dataease/provider/query/es/EsQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/es/EsQueryProvider.java index 5187b8429d..7d210c209a 100644 --- a/backend/src/main/java/io/dataease/provider/query/es/EsQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/es/EsQueryProvider.java @@ -858,8 +858,8 @@ public class EsQueryProvider extends QueryProvider { whereValue = "''"; } else if (StringUtils.equalsIgnoreCase(filterItemDTO.getTerm(), "not_empty")) { whereValue = "''"; - } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "in")) { - whereValue = "('" + StringUtils.join(value, "','") + "')"; + } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "in") || StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "not in")) { + whereValue = "('" + String.join("','", value.split(",")) + "')"; } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "like")) { whereValue = "'%" + value + "%'"; } else { diff --git a/backend/src/main/java/io/dataease/provider/query/hive/HiveQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/hive/HiveQueryProvider.java index 2faed23435..d9ecac9302 100644 --- a/backend/src/main/java/io/dataease/provider/query/hive/HiveQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/hive/HiveQueryProvider.java @@ -794,8 +794,8 @@ public class HiveQueryProvider extends QueryProvider { whereValue = "''"; } else if (StringUtils.equalsIgnoreCase(filterItemDTO.getTerm(), "not_empty")) { whereValue = "''"; - } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "in")) { - whereValue = "('" + StringUtils.join(value, "','") + "')"; + } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "in") || StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "not in")) { + whereValue = "('" + String.join("','", value.split(",")) + "')"; } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "like")) { whereValue = "'%" + value + "%'"; } else { diff --git a/backend/src/main/java/io/dataease/provider/query/impala/ImpalaQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/impala/ImpalaQueryProvider.java index 2998fafe94..26506da3ee 100644 --- a/backend/src/main/java/io/dataease/provider/query/impala/ImpalaQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/impala/ImpalaQueryProvider.java @@ -791,8 +791,8 @@ public class ImpalaQueryProvider extends QueryProvider { whereValue = "''"; } else if (StringUtils.equalsIgnoreCase(filterItemDTO.getTerm(), "not_empty")) { whereValue = "''"; - } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "in")) { - whereValue = "('" + StringUtils.join(value, "','") + "')"; + } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "in") || StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "not in")) { + whereValue = "('" + String.join("','", value.split(",")) + "')"; } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "like")) { whereValue = "'%" + value + "%'"; } else { diff --git a/backend/src/main/java/io/dataease/provider/query/mongodb/MongoQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/mongodb/MongoQueryProvider.java index 9c7cd32eb9..ee6a626966 100644 --- a/backend/src/main/java/io/dataease/provider/query/mongodb/MongoQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/mongodb/MongoQueryProvider.java @@ -776,8 +776,8 @@ public class MongoQueryProvider extends QueryProvider { whereValue = "''"; } else if (StringUtils.equalsIgnoreCase(filterItemDTO.getTerm(), "not_empty")) { whereValue = "''"; - } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "in")) { - whereValue = "('" + StringUtils.join(value, "','") + "')"; + } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "in") || StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "not in")) { + whereValue = "('" + String.join("','", value.split(",")) + "')"; } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "like")) { whereValue = "'%" + value + "%'"; } else { diff --git a/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java index 7b17313000..293eda3766 100644 --- a/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java @@ -799,8 +799,8 @@ public class MysqlQueryProvider extends QueryProvider { whereValue = "''"; } else if (StringUtils.equalsIgnoreCase(filterItemDTO.getTerm(), "not_empty")) { whereValue = "''"; - } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "in")) { - whereValue = "('" + StringUtils.join(value, "','") + "')"; + } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "in") || StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "not in")) { + whereValue = "('" + String.join("','", value.split(",")) + "')"; } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "like")) { whereValue = "'%" + value + "%'"; } else { diff --git a/backend/src/main/java/io/dataease/provider/query/oracle/OracleQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/oracle/OracleQueryProvider.java index 1e70a085fb..199fc65d99 100644 --- a/backend/src/main/java/io/dataease/provider/query/oracle/OracleQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/oracle/OracleQueryProvider.java @@ -850,8 +850,8 @@ public class OracleQueryProvider extends QueryProvider { whereValue = "''"; } else if (StringUtils.equalsIgnoreCase(filterItemDTO.getTerm(), "not_empty")) { whereValue = "''"; - } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "in")) { - whereValue = "('" + StringUtils.join(value, "','") + "')"; + } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "in") || StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "not in")) { + whereValue = "('" + String.join("','", value.split(",")) + "')"; } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "like")) { whereValue = "'%" + value + "%'"; } else { diff --git a/backend/src/main/java/io/dataease/provider/query/pg/PgQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/pg/PgQueryProvider.java index c1276f8a8b..d77587c505 100644 --- a/backend/src/main/java/io/dataease/provider/query/pg/PgQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/pg/PgQueryProvider.java @@ -825,8 +825,8 @@ public class PgQueryProvider extends QueryProvider { whereValue = "''"; } else if (StringUtils.equalsIgnoreCase(filterItemDTO.getTerm(), "not_empty")) { whereValue = "''"; - } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "in")) { - whereValue = "('" + StringUtils.join(value, "','") + "')"; + } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "in") || StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "not in")) { + whereValue = "('" + String.join("','", value.split(",")) + "')"; } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "like")) { whereValue = "'%" + value + "%'"; } else { diff --git a/backend/src/main/java/io/dataease/provider/query/redshift/RedshiftQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/redshift/RedshiftQueryProvider.java index 75e142e5ed..0b748f1922 100644 --- a/backend/src/main/java/io/dataease/provider/query/redshift/RedshiftQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/redshift/RedshiftQueryProvider.java @@ -758,8 +758,8 @@ public class RedshiftQueryProvider extends QueryProvider { whereValue = PgConstants.WHERE_VALUE_NULL; } else if (StringUtils.equalsIgnoreCase(filterItemDTO.getTerm(), "not_null")) { whereTerm = String.format(whereTerm, originName); - } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "in")) { - whereValue = "('" + StringUtils.join(value, "','") + "')"; + } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "in") || StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "not in")) { + whereValue = "('" + String.join("','", value.split(",")) + "')"; } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "like")) { whereValue = "'%" + value + "%'"; } else { diff --git a/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java index 913e1f5590..559707fd73 100644 --- a/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java @@ -859,8 +859,8 @@ public class SqlserverQueryProvider extends QueryProvider { whereValue = "''"; } else if (StringUtils.equalsIgnoreCase(filterItemDTO.getTerm(), "not_empty")) { whereValue = "''"; - } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "in")) { - whereValue = "('" + StringUtils.join(value, "','") + "')"; + } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "in") || StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "not in")) { + whereValue = "('" + String.join("','", value.split(",")) + "')"; } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "like")) { whereValue = "'%" + value + "%'"; } else { diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetGroupService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetGroupService.java index c6b833306b..1b07685c82 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetGroupService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetGroupService.java @@ -45,11 +45,11 @@ public class DataSetGroupService { @DeCleaner(DePermissionType.DATASET) public DataSetGroupDTO save(DatasetGroup datasetGroup) throws Exception { - if (StringUtils.isEmpty(datasetGroup.getType())) { - throw new Exception("type can not be empty"); - } checkName(datasetGroup); if (StringUtils.isEmpty(datasetGroup.getId())) { + if (StringUtils.isEmpty(datasetGroup.getType())) { + throw new Exception("type can not be empty"); + } datasetGroup.setId(UUID.randomUUID().toString()); datasetGroup.setCreateBy(AuthUtils.getUser().getUsername()); datasetGroup.setCreateTime(System.currentTimeMillis()); diff --git a/backend/src/main/java/io/dataease/service/dataset/PermissionService.java b/backend/src/main/java/io/dataease/service/dataset/PermissionService.java index a2b02809fe..e1fb52b02a 100644 --- a/backend/src/main/java/io/dataease/service/dataset/PermissionService.java +++ b/backend/src/main/java/io/dataease/service/dataset/PermissionService.java @@ -30,7 +30,7 @@ public class PermissionService { public List getCustomFilters(List fields, DatasetTable datasetTable, Long user) { List customFilter = new ArrayList<>(); - Map values = new HashMap<>(); + Map values = new HashMap<>(); for (DatasetRowPermissions datasetRowPermissions : rowPermissions(datasetTable.getId(), user, values)) { ChartFieldCustomFilterDTO dto = new ChartFieldCustomFilterDTO(); if (StringUtils.isEmpty(datasetRowPermissions.getDatasetFieldId())) { @@ -51,6 +51,7 @@ public class PermissionService { lists.forEach(chartCustomFilterDTO -> { chartCustomFilterDTO.setFieldId(field.getId()); if(datasetRowPermissions.getAuthTargetType().equalsIgnoreCase("sysParams")){ + System.out.println(values.get(chartCustomFilterDTO.getValue()).toString()); chartCustomFilterDTO.setValue(values.get(chartCustomFilterDTO.getValue()).toString()); } }); @@ -96,7 +97,7 @@ public class PermissionService { } - private List rowPermissions(String datasetId, Long userId, Map values) { + private List rowPermissions(String datasetId, Long userId, Map values) { List datasetRowPermissions = new ArrayList<>(); Map beansOfType = SpringContextUtil.getApplicationContext().getBeansOfType((RowPermissionService.class)); if (beansOfType.keySet().size() == 0) { @@ -139,7 +140,7 @@ public class PermissionService { values.put("${sysParams.userEmail}", userEntity.getEmail()); values.put("${sysParams.userSource}", userEntity.getFrom() == 0 ? "LOCAL" : "OIDC"); values.put("${sysParams.dept}", userEntity.getDeptName()); - values.put("${sysParams.roles}", StringUtils.joinWith(",", currentRoleDtos.stream().map(CurrentRoleDto::getName).collect(Collectors.toList()))); + values.put("${sysParams.roles}", String.join(",", currentRoleDtos.stream().map(CurrentRoleDto::getName).collect(Collectors.toList()))); return datasetRowPermissions; } 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 2a703a557c..fa18dab52e 100644 --- a/backend/src/main/java/io/dataease/service/datasource/DatasourceService.java +++ b/backend/src/main/java/io/dataease/service/datasource/DatasourceService.java @@ -57,7 +57,7 @@ public class DatasourceService { private DataSetGroupService dataSetGroupService; @Resource private CommonThreadPool commonThreadPool; - private static List dsTypes = Arrays.asList("excel", "mysql", "hive", "impala", "mariadb", "ds_doris", "pg", "sqlServer", "oracle", "mongo", "ck", "db2", "es", "redshift", "api"); + private static List dsTypes = Arrays.asList("TiDB", "StarRocks", "excel", "mysql", "hive", "impala", "mariadb", "ds_doris", "pg", "sqlServer", "oracle", "mongo", "ck", "db2", "es", "redshift", "api"); @DeCleaner(DePermissionType.DATASOURCE) public Datasource addDatasource(Datasource datasource) throws Exception{ diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js index 3d34c3362e..82636e1774 100644 --- a/frontend/src/lang/en.js +++ b/frontend/src/lang/en.js @@ -896,6 +896,8 @@ export default { filter_value_can_null: 'Filter value can not empty', filter_like: 'Contain', filter_not_like: 'Not Contain', + filter_in: 'IN', + filter_not_in: 'NOT IN', chart_details: 'Chart Details', export_details: 'Export Details', color_light: 'Light', diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js index e852cce905..45d46c9c11 100644 --- a/frontend/src/lang/tw.js +++ b/frontend/src/lang/tw.js @@ -897,6 +897,8 @@ export default { filter_value_can_null: '過濾值不能爲空', filter_like: '包含', filter_not_like: '不包含', + filter_in: '屬於', + filter_not_in: '不屬於', color_light: '明亮', color_classical: '經典', color_fresh: '清新', diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js index 1c384d40a3..e20dc71f45 100644 --- a/frontend/src/lang/zh.js +++ b/frontend/src/lang/zh.js @@ -899,6 +899,8 @@ export default { filter_value_can_null: '过滤值不能为空', filter_like: '包含', filter_not_like: '不包含', + filter_in: '属于', + filter_not_in: '不属于', color_light: '明亮', color_classical: '经典', color_fresh: '清新', diff --git a/frontend/src/views/system/datasource/DsTree.vue b/frontend/src/views/system/datasource/DsTree.vue index 82ef07d78a..0c3f700f62 100644 --- a/frontend/src/views/system/datasource/DsTree.vue +++ b/frontend/src/views/system/datasource/DsTree.vue @@ -226,6 +226,10 @@ export default { return 'API' } else if (type === 'impala') { return 'Apache Impala' + }if (type === 'TiDB') { + return 'TiDB' + }if (type === 'StarRocks') { + return 'StarRocks' } },