List<DataPermissionSchemaEo> dataPermissionSchemaList = dataPermissionSchemaEoList.stream().map(dataPermissionSchemaEo -> { List<SchemaRowRuleEo> schemaRowRules = userRowRuleList.stream() .filter(schemaRule -> dataPermissionSchemaEo.getId().equals(schemaRule.getSchemaId())) .collect(Collectors.toList()); List<SchemaColumnRuleEo> schemaColumnRules = userColumnRuleList.stream() .filter(schemaRule -> dataPermissionSchemaEo.getId().equals(schemaRule.getSchemaId())) .collect(Collectors.toList()); if(!schemaRowRules.isEmpty() || !schemaColumnRules.isEmpty()) { DataPermissionSchemaEo dataPermissionSchema = new DataPermissionSchemaEo(); dataPermissionSchema.setDatabaseCode(dataPermissionSchemaEo.getDatabaseCode()); dataPermissionSchema.setSchemaCode(dataPermissionSchemaEo.getSchemaCode()); dataPermissionSchema.setSchemaRowRuleEoList(schemaRowRules); dataPermissionSchema.setSchemaColumnRuleEoList(schemaColumnRules); return dataPermissionSchema; } return null; }).filter(Objects::nonNull).collect(Collectors.toList());单独做成一个方法
时间: 2024-02-03 13:13:05 浏览: 74
List<Long>转一维数组 Long[](csdn)————程序.pdf
5星 · 资源好评率100%
可以将这段代码单独做成一个方法,例如:
```java
public List<DataPermissionSchemaEo> filterDataPermissionSchemas(List<DataPermissionSchemaEo> dataPermissionSchemaEoList, List<SchemaRowRuleEo> userRowRuleList, List<SchemaColumnRuleEo> userColumnRuleList) {
return dataPermissionSchemaEoList.stream().map(dataPermissionSchemaEo -> {
List<SchemaRowRuleEo> schemaRowRules = userRowRuleList.stream()
.filter(schemaRule -> dataPermissionSchemaEo.getId().equals(schemaRule.getSchemaId()))
.collect(Collectors.toList());
List<SchemaColumnRuleEo> schemaColumnRules = userColumnRuleList.stream()
.filter(schemaRule -> dataPermissionSchemaEo.getId().equals(schemaRule.getSchemaId()))
.collect(Collectors.toList());
if (!schemaRowRules.isEmpty() || !schemaColumnRules.isEmpty()) {
DataPermissionSchemaEo dataPermissionSchema = new DataPermissionSchemaEo();
dataPermissionSchema.setDatabaseCode(dataPermissionSchemaEo.getDatabaseCode());
dataPermissionSchema.setSchemaCode(dataPermissionSchemaEo.getSchemaCode());
dataPermissionSchema.setSchemaRowRuleEoList(schemaRowRules);
dataPermissionSchema.setSchemaColumnRuleEoList(schemaColumnRules);
return dataPermissionSchema;
}
return null;
}).filter(Objects::nonNull).collect(Collectors.toList());
}
```
然后在其他地方可以调用该方法来过滤数据权限模式列表。
阅读全文