新增树获取接口

pull/3/head
rays 2021-01-11 19:35:46 +08:00
parent 04752b8641
commit 99565c0257
8 changed files with 84 additions and 12 deletions

View File

@ -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;
}
}

View File

@ -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);
}
/**

View File

@ -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);
}

View File

@ -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

View File

@ -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);
}
/**

View File

@ -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;
}
}

View File

@ -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);
}

View File

@ -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