提交 d312a362 authored 作者: taojinlong's avatar taojinlong

feat: 行权限支持枚举

上级 940147a6
...@@ -22,7 +22,7 @@ public class RowPermissionsController { ...@@ -22,7 +22,7 @@ public class RowPermissionsController {
rowPermissionService.save(datasetRowPermissions); rowPermissionService.save(datasetRowPermissions);
} }
@ApiOperation("分页查询") @ApiOperation("查询")
@PostMapping("/list") @PostMapping("/list")
public List<DataSetRowPermissionsDTO> rowPermissions(@RequestBody XpackSysAuthDetailDTO request) { public List<DataSetRowPermissionsDTO> rowPermissions(@RequestBody XpackSysAuthDetailDTO request) {
RowPermissionService rowPermissionService = SpringContextUtil.getBean(RowPermissionService.class); RowPermissionService rowPermissionService = SpringContextUtil.getBean(RowPermissionService.class);
......
...@@ -470,19 +470,24 @@ public class DataSetTableService { ...@@ -470,19 +470,24 @@ public class DataSetTableService {
public List<ChartFieldCustomFilterDTO> getCustomFilters(List<DatasetTableField> fields, DatasetTable datasetTable, Long user) { public List<ChartFieldCustomFilterDTO> getCustomFilters(List<DatasetTableField> fields, DatasetTable datasetTable, Long user) {
List<ChartFieldCustomFilterDTO> customFilter = new ArrayList<>(); List<ChartFieldCustomFilterDTO> customFilter = new ArrayList<>();
rowPermissions(datasetTable.getId(), user).forEach(datasetRowPermissions -> { rowPermissions(datasetTable.getId(), user).forEach(datasetRowPermissions -> {
List<ChartCustomFilterItemDTO> lists = JSONObject.parseArray(datasetRowPermissions.getFilter(), ChartCustomFilterItemDTO.class);
ChartFieldCustomFilterDTO dto = new ChartFieldCustomFilterDTO(); ChartFieldCustomFilterDTO dto = new ChartFieldCustomFilterDTO();
DatasetTableField field = getFieldById(fields, datasetRowPermissions.getDatasetFieldId()); DatasetTableField field = getFieldById(fields, datasetRowPermissions.getDatasetFieldId());
lists.forEach(chartCustomFilterDTO -> { dto.setField(field);
chartCustomFilterDTO.setFieldId(field.getId()); dto.setId(field.getId());
}); dto.setFilterType(datasetRowPermissions.getFilterType());
if (field != null) { if(datasetRowPermissions.getFilterType().equalsIgnoreCase("logic")){
dto.setFilter(lists); List<ChartCustomFilterItemDTO> lists = JSONObject.parseArray(datasetRowPermissions.getFilter(), ChartCustomFilterItemDTO.class);
dto.setField(field); lists.forEach(chartCustomFilterDTO -> { chartCustomFilterDTO.setFieldId(field.getId()); });
dto.setId(field.getId()); if (field != null) {
dto.setLogic(datasetRowPermissions.getLogic()); dto.setFilter(lists);
dto.setLogic(datasetRowPermissions.getLogic());
customFilter.add(dto);
}
}else {
dto.setEnumCheckField(Arrays.asList(datasetRowPermissions.getEnumCheckField().split(",").clone()));
customFilter.add(dto); customFilter.add(dto);
} }
}); });
return customFilter; return customFilter;
} }
......
...@@ -4,8 +4,10 @@ CREATE TABLE `dataset_row_permissions` ( ...@@ -4,8 +4,10 @@ CREATE TABLE `dataset_row_permissions` (
`auth_target_id` bigint(20) DEFAULT NULL COMMENT '权限对象ID', `auth_target_id` bigint(20) DEFAULT NULL COMMENT '权限对象ID',
`dataset_id` varchar(64) DEFAULT NULL COMMENT '数据集ID', `dataset_id` varchar(64) DEFAULT NULL COMMENT '数据集ID',
`dataset_field_id` varchar(64) DEFAULT NULL COMMENT '数据集字段ID', `dataset_field_id` varchar(64) DEFAULT NULL COMMENT '数据集字段ID',
`filter_type` varchar(64) DEFAULT NULL COMMENT '过滤类型:逻辑、枚举',
`logic` varchar(64) DEFAULT NULL COMMENT '与/或', `logic` varchar(64) DEFAULT NULL COMMENT '与/或',
`filter` longtext DEFAULT NULL COMMENT '数值', `filter` longtext DEFAULT NULL COMMENT '数值',
`enum_check_field` longtext DEFAULT NULL COMMENT '枚举值',
`update_time` bigint(13) NULL DEFAULT NULL, `update_time` bigint(13) NULL DEFAULT NULL,
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_general_ci; )ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_general_ci;
......
...@@ -60,8 +60,6 @@ ...@@ -60,8 +60,6 @@
</javaClientGenerator> </javaClientGenerator>
<!--要生成的数据库表 --> <!--要生成的数据库表 -->
<table tableName="panel_link_mapping"> <table tableName="dataset_row_permissions"/>
</table>
<table tableName="panel_group"/>
</context> </context>
</generatorConfiguration> </generatorConfiguration>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论