新增树获取接口

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; package cn.stylefeng.roses.kernel.system.pojo.menu.layui;
import cn.stylefeng.roses.kernel.rule.abstracts.AbstractTreeNode;
import lombok.Data; import lombok.Data;
import java.util.List;
/** /**
* *
* *
@ -9,7 +12,7 @@ import lombok.Data;
* @date 2021/1/9 16:59 * @date 2021/1/9 16:59
*/ */
@Data @Data
public class LayuiMenuAndButtonTreeResponse { public class LayuiMenuAndButtonTreeResponse implements AbstractTreeNode {
/** /**
* ID * ID
@ -41,4 +44,23 @@ public class LayuiMenuAndButtonTreeResponse {
*/ */
private String buttonCode; 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 * @author majianguo
* @date 2021/1/9 17:10 * @date 2021/1/9 17:10
*/ */
@GetResource(name = "获取系统菜单树(包含按钮),用于给角色授权时选择", path = "/sysMenu/menuAndButtonTree") @GetResource(name = "获取系统菜单树(包含按钮),用于给角色授权时选择", path = "/sysMenu/menuAndButtonTree")
public List<LayuiMenuAndButtonTreeResponse> menuAndButtonTree(SysRoleRequest sysRoleRequest) { 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 * @author majianguo
* @date 2021/1/9 17:11 * @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 @Override
public List<LayuiMenuAndButtonTreeResponse> getMenuAndButtonTree(SysRoleRequest sysRoleRequest) { public List<LayuiMenuAndButtonTreeResponse> getMenuAndButtonTree(SysRoleRequest sysRoleRequest, Boolean lateralFlag) {
List<LayuiMenuAndButtonTreeResponse> menuTreeNodeList = CollectionUtil.newArrayList(); List<LayuiMenuAndButtonTreeResponse> menuTreeNodeList = CollectionUtil.newArrayList();
LambdaQueryWrapper<SysMenu> munuWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysMenu> munuWrapper = new LambdaQueryWrapper<>();
@ -425,8 +425,13 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
// 记录菜单节点 // 记录菜单节点
menuTreeNodeList.add(menuTree); menuTreeNodeList.add(menuTree);
} }
return menuTreeNodeList; // 返回结果
if (lateralFlag) {
return menuTreeNodeList;
} else {
return new DefaultTreeBuildFactory<LayuiMenuAndButtonTreeResponse>().doTreeBuild(menuTreeNodeList);
}
} }
@Override @Override

View File

@ -75,7 +75,19 @@ public class ResourceController {
*/ */
@GetResource(name = "获取资源平级树列表,用于分配接口权限", path = "/resource/getLateralTree") @GetResource(name = "获取资源平级树列表,用于分配接口权限", path = "/resource/getLateralTree")
public List<ResourceTreeNode> getLateralTree(SysRoleRequest sysRoleRequest) { 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; package cn.stylefeng.roses.kernel.resource.modular.pojo;
import cn.stylefeng.roses.kernel.rule.abstracts.AbstractTreeNode;
import lombok.Data; import lombok.Data;
import java.util.List; import java.util.List;
@ -11,7 +12,7 @@ import java.util.List;
* @date 2020/3/26 14:29 * @date 2020/3/26 14:29
*/ */
@Data @Data
public class ResourceTreeNode { public class ResourceTreeNode implements AbstractTreeNode {
/** /**
* id * id
@ -46,4 +47,18 @@ public class ResourceTreeNode {
*/ */
private List children; 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 * @author majianguo
* @date 2021/1/9 15:08 * @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.resource.modular.service.SysResourceService;
import cn.stylefeng.roses.kernel.rule.constants.RuleConstants; import cn.stylefeng.roses.kernel.rule.constants.RuleConstants;
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum; 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.ResourceServiceApi;
import cn.stylefeng.roses.kernel.system.RoleServiceApi; import cn.stylefeng.roses.kernel.system.RoleServiceApi;
import cn.stylefeng.roses.kernel.system.UserServiceApi; import cn.stylefeng.roses.kernel.system.UserServiceApi;
import cn.stylefeng.roses.kernel.system.constants.SystemConstants; 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.resource.request.ResourceRequest;
import cn.stylefeng.roses.kernel.system.pojo.role.response.SysRoleResourceResponse; import cn.stylefeng.roses.kernel.system.pojo.role.response.SysRoleResourceResponse;
import cn.stylefeng.roses.kernel.system.pojo.role.response.SysRoleResponse; import cn.stylefeng.roses.kernel.system.pojo.role.response.SysRoleResponse;
@ -137,7 +139,7 @@ public class SysResourceServiceImpl extends ServiceImpl<SysResourceMapper, SysRe
} }
@Override @Override
public List<ResourceTreeNode> getResourceLateralTree(Long roleId) { public List<ResourceTreeNode> getResourceTree(Long roleId, Boolean lateralFlag) {
// 结果 // 结果
List<ResourceTreeNode> res = new ArrayList<>(); List<ResourceTreeNode> res = new ArrayList<>();
@ -214,7 +216,11 @@ public class SysResourceServiceImpl extends ServiceImpl<SysResourceMapper, SysRe
} }
// 根据map组装资源树 // 根据map组装资源树
return res; if (lateralFlag) {
return res;
} else {
return new DefaultTreeBuildFactory<ResourceTreeNode>().doTreeBuild(res);
}
} }
@Override @Override