From cea2772e9a8ee90efd636555fd767190ad068fab Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Tue, 13 Jun 2023 13:57:30 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=907.6.0=E3=80=91=E3=80=90sys=E3=80=91?= =?UTF-8?q?=E3=80=90permission=E3=80=91=E5=88=9D=E5=A7=8B=E5=8C=96?= =?UTF-8?q?=E8=A7=92=E8=89=B2=E7=BB=91=E5=AE=9A=E6=9D=83=E9=99=90=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=E7=9A=84=E8=AF=B7=E6=B1=82=E5=8F=82=E6=95=B0=E5=92=8C?= =?UTF-8?q?=E5=93=8D=E5=BA=94=E5=AE=9E=E4=BD=93=E7=9A=84=E5=B0=81=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../request/RoleBindPermissionRequest.java | 76 +++++++++++++ .../response/RoleBindPermissionResponse.java | 103 ++++++++++++++++++ 2 files changed, 179 insertions(+) create mode 100644 kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/pojo/request/RoleBindPermissionRequest.java create mode 100644 kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/pojo/response/RoleBindPermissionResponse.java diff --git a/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/pojo/request/RoleBindPermissionRequest.java b/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/pojo/request/RoleBindPermissionRequest.java new file mode 100644 index 000000000..30a78d6b6 --- /dev/null +++ b/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/pojo/request/RoleBindPermissionRequest.java @@ -0,0 +1,76 @@ +/* + * 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. + * + * Guns采用APACHE 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.request; + +import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription; +import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * 角色绑定权限的请求 + * + * @author fengshuonan + * @since 2023/6/13 13:43 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class RoleBindPermissionRequest extends BaseRequest { + + /** + * 角色id + */ + @NotNull(message = "角色id不能为空", groups = roleBindPermission.class) + @ChineseDescription("角色id") + private Long roleId; + + /** + * 模块下的所有的菜单和菜单下的功能 + *

+ * 一个模块指的是一行菜单和菜单下的功能 + */ + @ChineseDescription("模块下的所有的菜单和菜单下的功能") + @NotEmpty(message = "模块下的所有的菜单和菜单下的功能不能为空", groups = roleBindPermission.class) + private List modularTotalItemList; + + /** + * 选中的菜单和菜单下的功能集合 + *

+ * 如果这里传空,则是取消选中这个模块下的所有菜单和功能 + */ + @ChineseDescription("选中的菜单和菜单下的功能集合") + private List selectedItemList; + + /** + * 参数校验分组:角色绑定权限 + */ + public @interface roleBindPermission { + } + +} diff --git a/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/pojo/response/RoleBindPermissionResponse.java b/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/pojo/response/RoleBindPermissionResponse.java new file mode 100644 index 000000000..563a2a3de --- /dev/null +++ b/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/pojo/response/RoleBindPermissionResponse.java @@ -0,0 +1,103 @@ +/* + * 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. + * + * Guns采用APACHE 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; + +/** + * 角色绑定权限界面的响应封装 + *

+ * 本结构是个树形结构,第1层级是应用,第2层级是应用下的菜单(菜单只显示最子节点),第3层级是菜单下的功能options + * + * @author fengshuonan + * @since 2023/6/13 13:54 + */ +@Data +public class RoleBindPermissionResponse implements AbstractTreeNode { + + /** + * 节点ID,可以是菜单id和按钮id + */ + @ChineseDescription("节点ID") + private Long nodeId; + + /** + * 节点父ID + */ + @ChineseDescription("节点父ID") + private Long nodeParentId; + + /** + * 节点名称 + */ + @ChineseDescription("节点名称") + private String nodeName; + + /** + * 节点编码 + */ + @ChineseDescription("节点编码") + private String nodeCode; + + /** + * 是否选择(已拥有的是true) + */ + @ChineseDescription("是否选择(已拥有的是true)") + private Boolean checked; + + /** + * 子节点集合 + */ + @ChineseDescription("子节点集合") + private List 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 childrenNodes) { + this.children = childrenNodes; + } + +}