diff --git a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java index 8da5ffcdfc..50403b2892 100644 --- a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java +++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java @@ -61,6 +61,15 @@ public class DataSetTableFieldController { return fields; } + @ApiOperation("查询表下属字段") + @PostMapping("listForPermissionSeting/{tableId}") + public List listForPermissionSeting(@PathVariable String tableId) { + DatasetTableField datasetTableField = DatasetTableField.builder().build(); + datasetTableField.setTableId(tableId); + List fields = dataSetTableFieldsService.list(datasetTableField); + return fields; + } + @ApiOperation("分组查询表下属字段") @PostMapping("listByDQ/{tableId}") public DatasetTableField4Type listByDQ(@PathVariable String tableId) { diff --git a/backend/src/main/java/io/dataease/plugins/server/ColumnPermissionsController.java b/backend/src/main/java/io/dataease/plugins/server/ColumnPermissionsController.java index 78d3e30215..75b10a988c 100644 --- a/backend/src/main/java/io/dataease/plugins/server/ColumnPermissionsController.java +++ b/backend/src/main/java/io/dataease/plugins/server/ColumnPermissionsController.java @@ -38,14 +38,14 @@ public class ColumnPermissionsController { List columnPermissionsDTOS = columnPermissionService.searchPermissions(request); if(StringUtils.isEmpty(datasetColumnPermissions.getId())){ if(!CollectionUtils.isEmpty(columnPermissionsDTOS)){ - throw new Exception(Translator.get("i18n_rp_exist")); + throw new Exception(Translator.get("i18n_cp_exist")); } }else { if(!CollectionUtils.isEmpty(columnPermissionsDTOS) && columnPermissionsDTOS.size() > 1){ - throw new Exception(Translator.get("i18n_rp_exist")); + throw new Exception(Translator.get("i18n_cp_exist")); } if(columnPermissionsDTOS.size() == 1 && !columnPermissionsDTOS.get(0).getId().equalsIgnoreCase(datasetColumnPermissions.getId())){ - throw new Exception(Translator.get("i18n_rp_exist")); + throw new Exception(Translator.get("i18n_cp_exist")); } } columnPermissionService.save(datasetColumnPermissions); 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 b39c974ea7..bda4d34201 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -459,6 +459,12 @@ public class DataSetTableService { //列权限 List desensitizationList = new ArrayList<>(); fields = permissionService.filterColumnPermissons(fields, desensitizationList, datasetTable.getId(), null); + if (CollectionUtils.isEmpty(fields)) { + map.put("fields", fields); + map.put("data", new ArrayList<>()); + map.put("page", new DataSetPreviewPage()); + return map; + } //行权限 List customFilter = permissionService.getCustomFilters(fields, datasetTable, null); String[] fieldArray = fields.stream().map(DatasetTableField::getDataeaseName).toArray(String[]::new); diff --git a/backend/src/main/resources/i18n/messages_en_US.properties b/backend/src/main/resources/i18n/messages_en_US.properties index 872f3c6b9b..a125887728 100644 --- a/backend/src/main/resources/i18n/messages_en_US.properties +++ b/backend/src/main/resources/i18n/messages_en_US.properties @@ -115,3 +115,4 @@ i18n_invalid_ds=Invalid Datasource i18n_rp_exist=Row permission of the same type already exists i18n_field_name_repeat=Field name can't repeat i18n_calc_field_error=Field expression error +i18n_cp_exist=Column permission of the same type already exists diff --git a/backend/src/main/resources/i18n/messages_zh_CN.properties b/backend/src/main/resources/i18n/messages_zh_CN.properties index e2ee666193..7e5236de21 100644 --- a/backend/src/main/resources/i18n/messages_zh_CN.properties +++ b/backend/src/main/resources/i18n/messages_zh_CN.properties @@ -114,3 +114,4 @@ i18n_invalid_ds=无效数据源 i18n_rp_exist=已有同类型的行权限存在 i18n_field_name_repeat=字段名不能重复 i18n_calc_field_error=字段表达式语法错误 +i18n_cp_exist=已有同类型的列权限存在 diff --git a/backend/src/main/resources/i18n/messages_zh_TW.properties b/backend/src/main/resources/i18n/messages_zh_TW.properties index 455f2b8161..43a46342a5 100644 --- a/backend/src/main/resources/i18n/messages_zh_TW.properties +++ b/backend/src/main/resources/i18n/messages_zh_TW.properties @@ -112,6 +112,7 @@ i18n_invalid_ds=無效數據源 任务管理=任務管理 数据同步=數據同步 定时报告=定時報告 -i18n_rp_exist=已有同類型餓行權限存在 +i18n_rp_exist=已有同類型的行權限存在 i18n_field_name_repeat=字段名不能重復 i18n_calc_field_error=字段表達式語法錯誤 +i18n_cp_exist=已有同類型的列權限存在