mirror of https://gitee.com/stylefeng/roses
新增树获取接口
parent
04752b8641
commit
99565c0257
|
@ -1,7 +1,10 @@
|
|||
package cn.stylefeng.roses.kernel.system.pojo.menu.layui;
|
||||
|
||||
import cn.stylefeng.roses.kernel.rule.abstracts.AbstractTreeNode;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 角色分配资源和菜单的树
|
||||
*
|
||||
|
@ -9,7 +12,7 @@ import lombok.Data;
|
|||
* @date 2021/1/9 16:59
|
||||
*/
|
||||
@Data
|
||||
public class LayuiMenuAndButtonTreeResponse {
|
||||
public class LayuiMenuAndButtonTreeResponse implements AbstractTreeNode {
|
||||
|
||||
/**
|
||||
* 节点ID
|
||||
|
@ -41,4 +44,23 @@ public class LayuiMenuAndButtonTreeResponse {
|
|||
*/
|
||||
private String buttonCode;
|
||||
|
||||
/**
|
||||
* 子节点集合
|
||||
*/
|
||||
private List children;
|
||||
|
||||
@Override
|
||||
public String getNodeId() {
|
||||
return this.id.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getNodeParentId() {
|
||||
return this.pid.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setChildrenNodes(List childrenNodes) {
|
||||
this.children = childrenNodes;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -136,14 +136,26 @@ public class SysMenuController {
|
|||
}
|
||||
|
||||
/**
|
||||
* 获取系统菜单树(包含按钮),用于给角色授权时选择
|
||||
* 获取系统菜单平级树(包含按钮),用于给角色授权时选择
|
||||
*
|
||||
* @author majianguo
|
||||
* @date 2021/1/9 17:10
|
||||
*/
|
||||
@GetResource(name = "获取系统菜单树(包含按钮),用于给角色授权时选择", path = "/sysMenu/menuAndButtonTree")
|
||||
public List<LayuiMenuAndButtonTreeResponse> menuAndButtonTree(SysRoleRequest sysRoleRequest) {
|
||||
return sysMenuService.getMenuAndButtonTree(sysRoleRequest);
|
||||
return sysMenuService.getMenuAndButtonTree(sysRoleRequest, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取系统菜单树(包含按钮),用于给角色授权时选择
|
||||
*
|
||||
* @author majianguo
|
||||
* @date 2021/1/9 17:10
|
||||
*/
|
||||
@GetResource(name = "获取系统菜单树(包含按钮),用于给角色授权时选择", path = "/sysMenu/menuAndButtonTreeChildren")
|
||||
public ResponseData menuAndButtonTreeChildren(SysRoleRequest sysRoleRequest) {
|
||||
List<LayuiMenuAndButtonTreeResponse> treeResponseList = sysMenuService.getMenuAndButtonTree(sysRoleRequest, false);
|
||||
return new SuccessResponseData(treeResponseList);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -179,5 +179,5 @@ public interface SysMenuService extends IService<SysMenu> {
|
|||
* @author majianguo
|
||||
* @date 2021/1/9 17:11
|
||||
*/
|
||||
List<LayuiMenuAndButtonTreeResponse> getMenuAndButtonTree(SysRoleRequest sysRoleRequest);
|
||||
List<LayuiMenuAndButtonTreeResponse> getMenuAndButtonTree(SysRoleRequest sysRoleRequest,Boolean lateralFlag);
|
||||
}
|
||||
|
|
|
@ -330,7 +330,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
|||
}
|
||||
|
||||
@Override
|
||||
public List<LayuiMenuAndButtonTreeResponse> getMenuAndButtonTree(SysRoleRequest sysRoleRequest) {
|
||||
public List<LayuiMenuAndButtonTreeResponse> getMenuAndButtonTree(SysRoleRequest sysRoleRequest, Boolean lateralFlag) {
|
||||
List<LayuiMenuAndButtonTreeResponse> menuTreeNodeList = CollectionUtil.newArrayList();
|
||||
|
||||
LambdaQueryWrapper<SysMenu> munuWrapper = new LambdaQueryWrapper<>();
|
||||
|
@ -425,8 +425,13 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
|||
// 记录菜单节点
|
||||
menuTreeNodeList.add(menuTree);
|
||||
}
|
||||
|
||||
return menuTreeNodeList;
|
||||
|
||||
// 返回结果
|
||||
if (lateralFlag) {
|
||||
return menuTreeNodeList;
|
||||
} else {
|
||||
return new DefaultTreeBuildFactory<LayuiMenuAndButtonTreeResponse>().doTreeBuild(menuTreeNodeList);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -75,7 +75,19 @@ public class ResourceController {
|
|||
*/
|
||||
@GetResource(name = "获取资源平级树列表,用于分配接口权限", path = "/resource/getLateralTree")
|
||||
public List<ResourceTreeNode> getLateralTree(SysRoleRequest sysRoleRequest) {
|
||||
return sysResourceService.getResourceLateralTree(sysRoleRequest.getRoleId());
|
||||
return sysResourceService.getResourceTree(sysRoleRequest.getRoleId(), true);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取资源树列表,用于分配接口权限
|
||||
*
|
||||
* @author majianguo
|
||||
* @date 2021/1/9 15:07
|
||||
*/
|
||||
@GetResource(name = "获取资源树列表,用于分配接口权限", path = "/resource/getLateralTreeChildren")
|
||||
public ResponseData getLateralTreeChildren(SysRoleRequest sysRoleRequest) {
|
||||
List<ResourceTreeNode> resourceLateralTree = sysResourceService.getResourceTree(sysRoleRequest.getRoleId(), false);
|
||||
return new SuccessResponseData(resourceLateralTree);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package cn.stylefeng.roses.kernel.resource.modular.pojo;
|
||||
|
||||
import cn.stylefeng.roses.kernel.rule.abstracts.AbstractTreeNode;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -11,7 +12,7 @@ import java.util.List;
|
|||
* @date 2020/3/26 14:29
|
||||
*/
|
||||
@Data
|
||||
public class ResourceTreeNode {
|
||||
public class ResourceTreeNode implements AbstractTreeNode {
|
||||
|
||||
/**
|
||||
* 资源id
|
||||
|
@ -46,4 +47,18 @@ public class ResourceTreeNode {
|
|||
*/
|
||||
private List children;
|
||||
|
||||
@Override
|
||||
public String getNodeId() {
|
||||
return this.code;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getNodeParentId() {
|
||||
return this.parentCode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setChildrenNodes(List childrenNodes) {
|
||||
this.children = childrenNodes;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -73,5 +73,5 @@ public interface SysResourceService extends IService<SysResource> {
|
|||
* @author majianguo
|
||||
* @date 2021/1/9 15:08
|
||||
*/
|
||||
List<ResourceTreeNode> getResourceLateralTree(Long roleId);
|
||||
List<ResourceTreeNode> getResourceTree(Long roleId,Boolean lateralFlag);
|
||||
}
|
||||
|
|
|
@ -19,10 +19,12 @@ import cn.stylefeng.roses.kernel.resource.modular.pojo.ResourceTreeNode;
|
|||
import cn.stylefeng.roses.kernel.resource.modular.service.SysResourceService;
|
||||
import cn.stylefeng.roses.kernel.rule.constants.RuleConstants;
|
||||
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
|
||||
import cn.stylefeng.roses.kernel.rule.factory.DefaultTreeBuildFactory;
|
||||
import cn.stylefeng.roses.kernel.system.ResourceServiceApi;
|
||||
import cn.stylefeng.roses.kernel.system.RoleServiceApi;
|
||||
import cn.stylefeng.roses.kernel.system.UserServiceApi;
|
||||
import cn.stylefeng.roses.kernel.system.constants.SystemConstants;
|
||||
import cn.stylefeng.roses.kernel.system.pojo.organization.layui.LayuiOrganizationTreeNode;
|
||||
import cn.stylefeng.roses.kernel.system.pojo.resource.request.ResourceRequest;
|
||||
import cn.stylefeng.roses.kernel.system.pojo.role.response.SysRoleResourceResponse;
|
||||
import cn.stylefeng.roses.kernel.system.pojo.role.response.SysRoleResponse;
|
||||
|
@ -137,7 +139,7 @@ public class SysResourceServiceImpl extends ServiceImpl<SysResourceMapper, SysRe
|
|||
}
|
||||
|
||||
@Override
|
||||
public List<ResourceTreeNode> getResourceLateralTree(Long roleId) {
|
||||
public List<ResourceTreeNode> getResourceTree(Long roleId, Boolean lateralFlag) {
|
||||
// 结果
|
||||
List<ResourceTreeNode> res = new ArrayList<>();
|
||||
|
||||
|
@ -214,7 +216,11 @@ public class SysResourceServiceImpl extends ServiceImpl<SysResourceMapper, SysRe
|
|||
}
|
||||
|
||||
// 根据map组装资源树
|
||||
return res;
|
||||
if (lateralFlag) {
|
||||
return res;
|
||||
} else {
|
||||
return new DefaultTreeBuildFactory<ResourceTreeNode>().doTreeBuild(res);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in New Issue