【8.3.1】【role】更新权限列表接口,children如果是空返回null

pull/62/head
stylefeng 2024-10-31 10:38:24 +08:00
parent 191b580fba
commit 14a84d92b5
1 changed files with 26 additions and 0 deletions

View File

@ -53,6 +53,9 @@ public class RoleBindPermissionFactory {
List<RoleBindPermissionItem> roleBindPermissionItems = new DefaultTreeBuildFactory<RoleBindPermissionItem>().doTreeBuild(apps);
roleBindPermissionResponse.setAppPermissionList(roleBindPermissionItems);
// 递归遍历roleBindPermissionItems如果children为空则设置为null而不是空数组
circulateDeleteEmptyChildren(roleBindPermissionItems);
return roleBindPermissionResponse;
}
@ -125,11 +128,18 @@ public class RoleBindPermissionFactory {
}
appItem.setChecked(true);
if (ObjectUtil.isEmpty(appItem.getChildren())) {
return;
}
for (RoleBindPermissionItem menuItem : appItem.getChildren()) {
if (!menuItem.getChecked()) {
appItem.setChecked(false);
}
if (ObjectUtil.isEmpty(menuItem.getChildren())) {
continue;
}
for (RoleBindPermissionItem options : menuItem.getChildren()) {
if (!options.getChecked()) {
appItem.setChecked(false);
@ -138,4 +148,20 @@ public class RoleBindPermissionFactory {
}
}
/**
* childrennull
*
* @author fengshuonan
* @since 2024/10/31 10:24
*/
private static void circulateDeleteEmptyChildren(List<RoleBindPermissionItem> params) {
for (RoleBindPermissionItem item : params) {
if (ObjectUtil.isEmpty(item.getChildren())) {
item.setChildren(null);
} else {
circulateDeleteEmptyChildren(item.getChildren());
}
}
}
}