【7.6.0】【sys】【permission】重新整理角色绑定权限的响应结果

pull/55/MERGE
fengshuonan 2023-06-13 14:23:28 +08:00
parent cea2772e9a
commit b25f0527cc
15 changed files with 246 additions and 67 deletions

View File

@ -1,12 +1,16 @@
package cn.stylefeng.roses.kernel.sys.modular.role.controller;
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData;
import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
import cn.stylefeng.roses.kernel.scanner.api.annotation.ApiResource;
import cn.stylefeng.roses.kernel.scanner.api.annotation.GetResource;
import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRole;
import cn.stylefeng.roses.kernel.sys.modular.role.pojo.request.RoleBindPermissionRequest;
import cn.stylefeng.roses.kernel.sys.modular.role.pojo.request.SysRoleRequest;
import cn.stylefeng.roses.kernel.sys.modular.role.pojo.response.RoleBindPermissionResponse;
import cn.stylefeng.roses.kernel.sys.modular.role.service.SysRoleService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@ -33,9 +37,25 @@ public class PermissionAssignController {
* @author fengshuonan
* @since 2023/6/12 21:23
*/
@GetResource(name = "获取所有角色列表", path = "/sysRole/getList")
public ResponseData<List<SysRole>> getList(SysRoleRequest sysRoleRequest) {
@GetResource(name = "获取所有角色列表", path = "/permission/getRoleList")
public ResponseData<List<SysRole>> getRoleList(SysRoleRequest sysRoleRequest) {
return new SuccessResponseData<>(sysRoleService.findList(sysRoleRequest));
}
/**
*
* <p>
*
* 3
*
* @author fengshuonan
* @since 2023/6/12 21:23
*/
@GetResource(name = "获取角色绑定的权限列表", path = "/permission/getRoleBindPermission")
public ResponseData<RoleBindPermissionResponse> getRoleBindPermission(@Validated(BaseRequest.detail.class) RoleBindPermissionRequest roleBindPermissionRequest) {
return new SuccessResponseData<>();
}
}

View File

@ -0,0 +1,92 @@
/*
* Copyright [2020-2030] [https://www.stylefeng.cn]
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* GunsAPACHE LICENSE 2.0使
*
* 1.LICENSE
* 2.Guns
* 3.
* 4. https://gitee.com/stylefeng/guns
* 5. https://gitee.com/stylefeng/guns
* 6.
*/
package cn.stylefeng.roses.kernel.sys.modular.role.enums;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ObjectUtil;
import cn.stylefeng.roses.kernel.rule.base.ReadableEnum;
import lombok.Getter;
/**
* 1-2-3--1-
*
* @author fengshuonan
* @since 2023/6/13 14:19
*/
@Getter
public enum PermissionNodeTypeEnum implements ReadableEnum<PermissionNodeTypeEnum> {
/**
*
*/
APP(1, "应用"),
/**
*
*/
MENU(2, "菜单"),
/**
*
*/
OPTIONS(3, "功能"),
/**
*
*/
TOTAL(-1, "所有权限");
private final Integer code;
private final String message;
PermissionNodeTypeEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
@Override
public Object getKey() {
return this.code;
}
@Override
public Object getName() {
return this.message;
}
@Override
public PermissionNodeTypeEnum parseToEnum(String originValue) {
if (ObjectUtil.isEmpty(originValue)) {
return null;
}
for (PermissionNodeTypeEnum value : PermissionNodeTypeEnum.values()) {
if (value.code.equals(Convert.toInt(originValue))) {
return value;
}
}
return null;
}
}

View File

@ -1,4 +1,4 @@
package cn.stylefeng.roses.kernel.sys.modular.role.enums;
package cn.stylefeng.roses.kernel.sys.modular.role.enums.exception;
import cn.stylefeng.roses.kernel.rule.constants.RuleConstants;
import cn.stylefeng.roses.kernel.rule.exception.AbstractExceptionEnum;

View File

@ -1,4 +1,4 @@
package cn.stylefeng.roses.kernel.sys.modular.role.enums;
package cn.stylefeng.roses.kernel.sys.modular.role.enums.exception;
import cn.stylefeng.roses.kernel.rule.constants.RuleConstants;
import cn.stylefeng.roses.kernel.rule.exception.AbstractExceptionEnum;

View File

@ -1,4 +1,4 @@
package cn.stylefeng.roses.kernel.sys.modular.role.enums;
package cn.stylefeng.roses.kernel.sys.modular.role.enums.exception;
import cn.stylefeng.roses.kernel.rule.constants.RuleConstants;
import cn.stylefeng.roses.kernel.rule.exception.AbstractExceptionEnum;

View File

@ -1,4 +1,4 @@
package cn.stylefeng.roses.kernel.sys.modular.role.enums;
package cn.stylefeng.roses.kernel.sys.modular.role.enums.exception;
import cn.stylefeng.roses.kernel.rule.constants.RuleConstants;
import cn.stylefeng.roses.kernel.rule.exception.AbstractExceptionEnum;

View File

@ -1,4 +1,4 @@
package cn.stylefeng.roses.kernel.sys.modular.role.enums;
package cn.stylefeng.roses.kernel.sys.modular.role.enums.exception;
import cn.stylefeng.roses.kernel.rule.constants.RuleConstants;
import cn.stylefeng.roses.kernel.rule.exception.AbstractExceptionEnum;

View File

@ -46,7 +46,7 @@ public class RoleBindPermissionRequest extends BaseRequest {
/**
* id
*/
@NotNull(message = "角色id不能为空", groups = roleBindPermission.class)
@NotNull(message = "角色id不能为空", groups = {roleBindPermission.class, detail.class})
@ChineseDescription("角色id")
private Long roleId;

View File

@ -0,0 +1,109 @@
/*
* Copyright [2020-2030] [https://www.stylefeng.cn]
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* GunsAPACHE LICENSE 2.0使
*
* 1.LICENSE
* 2.Guns
* 3.
* 4. https://gitee.com/stylefeng/guns
* 5. https://gitee.com/stylefeng/guns
* 6.
*/
package cn.stylefeng.roses.kernel.sys.modular.role.pojo.response;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import cn.stylefeng.roses.kernel.rule.tree.factory.base.AbstractTreeNode;
import lombok.Data;
import java.util.List;
/**
*
* <p>
* 123options
*
* @author fengshuonan
* @since 2023/6/13 13:54
*/
@Data
public class RoleBindPermissionItem implements AbstractTreeNode<RoleBindPermissionItem> {
/**
* IDidid
*/
@ChineseDescription("节点ID")
private Long nodeId;
/**
* ID
*/
@ChineseDescription("节点父ID")
private Long nodeParentId;
/**
*
*/
@ChineseDescription("节点名称")
private String nodeName;
/**
*
*/
@ChineseDescription("节点编码")
private String nodeCode;
/**
* 1-2-3--1-
*/
@ChineseDescription("节点类型1-应用2-菜单3-功能,-1-所有权限")
private Integer permissionNodeType;
/**
* (true)
*/
@ChineseDescription("是否选择(已拥有的是true)")
private Boolean checked;
/**
*
*/
@ChineseDescription("子节点集合")
private List<RoleBindPermissionItem> children;
@Override
public String getNodeId() {
if (this.nodeId != null) {
return this.nodeId.toString();
} else {
return "";
}
}
@Override
public String getNodeParentId() {
if (this.nodeParentId != null) {
return this.nodeParentId.toString();
} else {
return "";
}
}
@Override
public void setChildrenNodes(List<RoleBindPermissionItem> childrenNodes) {
this.children = childrenNodes;
}
}

View File

@ -25,79 +25,37 @@
package cn.stylefeng.roses.kernel.sys.modular.role.pojo.response;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import cn.stylefeng.roses.kernel.rule.tree.factory.base.AbstractTreeNode;
import lombok.Data;
import java.util.List;
/**
*
* <p>
* 123options
*
* @author fengshuonan
* @since 2023/6/13 13:54
*/
@Data
public class RoleBindPermissionResponse implements AbstractTreeNode<RoleBindPermissionResponse> {
public class RoleBindPermissionResponse {
/**
* IDidid
*
*/
@ChineseDescription("节点ID")
private Long nodeId;
@ChineseDescription("是否已经全选了所有权限")
private Boolean totalSelectFlag;
/**
* ID
* 1-2-3--1-
*/
@ChineseDescription("节点父ID")
private Long nodeParentId;
@ChineseDescription("节点类型1-应用2-菜单3-功能,-1-所有权限")
private Integer permissionNodeType = -1;
/**
*
*
* <p>
*
*/
@ChineseDescription("节点名称")
private String nodeName;
/**
*
*/
@ChineseDescription("节点编码")
private String nodeCode;
/**
* (true)
*/
@ChineseDescription("是否选择(已拥有的是true)")
private Boolean checked;
/**
*
*/
@ChineseDescription("子节点集合")
private List<RoleBindPermissionResponse> children;
@Override
public String getNodeId() {
if (this.nodeId != null) {
return this.nodeId.toString();
} else {
return "";
}
}
@Override
public String getNodeParentId() {
if (this.nodeParentId != null) {
return this.nodeParentId.toString();
} else {
return "";
}
}
@Override
public void setChildrenNodes(List<RoleBindPermissionResponse> childrenNodes) {
this.children = childrenNodes;
}
@ChineseDescription("应用权限列表")
private List<RoleBindPermissionItem> appPermissionList;
}

View File

@ -8,7 +8,7 @@ import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveRoleCallbackApi;
import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRoleDataScope;
import cn.stylefeng.roses.kernel.sys.modular.role.enums.SysRoleDataScopeExceptionEnum;
import cn.stylefeng.roses.kernel.sys.modular.role.enums.exception.SysRoleDataScopeExceptionEnum;
import cn.stylefeng.roses.kernel.sys.modular.role.mapper.SysRoleDataScopeMapper;
import cn.stylefeng.roses.kernel.sys.modular.role.pojo.request.SysRoleDataScopeRequest;
import cn.stylefeng.roses.kernel.sys.modular.role.service.SysRoleDataScopeService;

View File

@ -8,7 +8,7 @@ import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveRoleCallbackApi;
import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRoleMenuOptions;
import cn.stylefeng.roses.kernel.sys.modular.role.enums.SysRoleMenuOptionsExceptionEnum;
import cn.stylefeng.roses.kernel.sys.modular.role.enums.exception.SysRoleMenuOptionsExceptionEnum;
import cn.stylefeng.roses.kernel.sys.modular.role.mapper.SysRoleMenuOptionsMapper;
import cn.stylefeng.roses.kernel.sys.modular.role.pojo.request.SysRoleMenuOptionsRequest;
import cn.stylefeng.roses.kernel.sys.modular.role.service.SysRoleMenuOptionsService;

View File

@ -8,7 +8,7 @@ import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveRoleCallbackApi;
import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRoleMenu;
import cn.stylefeng.roses.kernel.sys.modular.role.enums.SysRoleMenuExceptionEnum;
import cn.stylefeng.roses.kernel.sys.modular.role.enums.exception.SysRoleMenuExceptionEnum;
import cn.stylefeng.roses.kernel.sys.modular.role.mapper.SysRoleMenuMapper;
import cn.stylefeng.roses.kernel.sys.modular.role.pojo.request.SysRoleMenuRequest;
import cn.stylefeng.roses.kernel.sys.modular.role.service.SysRoleMenuService;

View File

@ -8,7 +8,7 @@ import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveRoleCallbackApi;
import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRoleResource;
import cn.stylefeng.roses.kernel.sys.modular.role.enums.SysRoleResourceExceptionEnum;
import cn.stylefeng.roses.kernel.sys.modular.role.enums.exception.SysRoleResourceExceptionEnum;
import cn.stylefeng.roses.kernel.sys.modular.role.mapper.SysRoleResourceMapper;
import cn.stylefeng.roses.kernel.sys.modular.role.pojo.request.SysRoleResourceRequest;
import cn.stylefeng.roses.kernel.sys.modular.role.service.SysRoleResourceService;

View File

@ -13,7 +13,7 @@ import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveRoleCallbackApi;
import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRole;
import cn.stylefeng.roses.kernel.sys.modular.role.enums.SysRoleExceptionEnum;
import cn.stylefeng.roses.kernel.sys.modular.role.enums.exception.SysRoleExceptionEnum;
import cn.stylefeng.roses.kernel.sys.modular.role.mapper.SysRoleMapper;
import cn.stylefeng.roses.kernel.sys.modular.role.pojo.request.SysRoleRequest;
import cn.stylefeng.roses.kernel.sys.modular.role.service.SysRoleService;