You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.2 KiB
Java
34 lines
1.2 KiB
Java
package com.glxp.udidl.admin.util;
|
|
|
|
import com.glxp.udidl.admin.entity.auth.AuthPermissionRule;
|
|
import com.glxp.udidl.admin.res.auth.AuthPermissionRuleMergeResponse;
|
|
import org.springframework.beans.BeanUtils;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
/**
|
|
* 权限规则生成树形节点工具类
|
|
*/
|
|
public class PermissionRuleTreeUtils {
|
|
|
|
/**
|
|
* 多维数组
|
|
*/
|
|
public static List<AuthPermissionRuleMergeResponse> merge(List<AuthPermissionRule> authPermissionRuleList,
|
|
Long pid) {
|
|
List<AuthPermissionRuleMergeResponse> authPermissionRuleMergeResponseList = new ArrayList<>();
|
|
for (AuthPermissionRule v : authPermissionRuleList) {
|
|
AuthPermissionRuleMergeResponse authPermissionRuleMergeResponse = new AuthPermissionRuleMergeResponse();
|
|
BeanUtils.copyProperties(v, authPermissionRuleMergeResponse);
|
|
if (pid.equals(v.getPid())) {
|
|
authPermissionRuleMergeResponse.setChildren(merge(authPermissionRuleList, v.getId()));
|
|
authPermissionRuleMergeResponseList.add(authPermissionRuleMergeResponse);
|
|
}
|
|
}
|
|
return authPermissionRuleMergeResponseList;
|
|
}
|
|
|
|
|
|
}
|