From 0a88ef4405164dc2c2ea40cacafdfceb6c4aeba6 Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Fri, 5 Jan 2024 19:42:18 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=908.0.5=E3=80=91=E3=80=90role=E3=80=91?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=8E=B7=E5=8F=96role=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kernel/sys/api/SysRoleServiceApi.java | 12 ++++ .../kernel/sys/api/pojo/role/SysRoleDTO.java | 57 +++++++++++++++++++ .../role/service/impl/SysRoleServiceImpl.java | 21 +++++++ 3 files changed, 90 insertions(+) create mode 100644 kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/pojo/role/SysRoleDTO.java diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/SysRoleServiceApi.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/SysRoleServiceApi.java index 2a3eee8ba..460ba0578 100644 --- a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/SysRoleServiceApi.java +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/SysRoleServiceApi.java @@ -24,6 +24,8 @@ */ package cn.stylefeng.roses.kernel.sys.api; +import cn.stylefeng.roses.kernel.sys.api.pojo.role.SysRoleDTO; + import java.util.List; /** @@ -60,4 +62,14 @@ public interface SysRoleServiceApi { */ List getRoleMenuOptionsByRoleId(String roleCode); + /** + * 获取角色,通过传递角色id列表 + * + * @param roleIds 角色id列表 + * @return 角色信息列表 + * @author fengshuonan + * @since 2024/1/5 19:33 + */ + List getRolesByIds(List roleIds); + } diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/pojo/role/SysRoleDTO.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/pojo/role/SysRoleDTO.java new file mode 100644 index 000000000..479686ed6 --- /dev/null +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/pojo/role/SysRoleDTO.java @@ -0,0 +1,57 @@ +/* + * 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.api.pojo.role; + +import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription; +import lombok.Data; + +/** + * 角色的传输bean + * + * @author fengshuonan + * @since 2024/1/5 19:32 + */ +@Data +public class SysRoleDTO { + + /** + * 主键 + */ + @ChineseDescription("主键") + private Long roleId; + + /** + * 名称 + */ + @ChineseDescription("名称") + private String roleName; + + /** + * 编码 + */ + @ChineseDescription("编码") + private String roleCode; + +} diff --git a/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/impl/SysRoleServiceImpl.java b/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/impl/SysRoleServiceImpl.java index 17b5b1576..55fa03ebd 100644 --- a/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/impl/SysRoleServiceImpl.java +++ b/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/impl/SysRoleServiceImpl.java @@ -1,6 +1,7 @@ package cn.stylefeng.roses.kernel.sys.modular.role.service.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.bean.copier.CopyOptions; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.ListUtil; import cn.hutool.core.util.ObjectUtil; @@ -17,6 +18,7 @@ import cn.stylefeng.roses.kernel.sys.api.SysUserRoleServiceApi; import cn.stylefeng.roses.kernel.sys.api.callback.RemoveRoleCallbackApi; import cn.stylefeng.roses.kernel.sys.api.constants.SysConstants; import cn.stylefeng.roses.kernel.sys.api.enums.permission.DataScopeTypeEnum; +import cn.stylefeng.roses.kernel.sys.api.pojo.role.SysRoleDTO; import cn.stylefeng.roses.kernel.sys.modular.menu.service.SysMenuOptionsService; import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRole; import cn.stylefeng.roses.kernel.sys.modular.role.enums.exception.SysRoleExceptionEnum; @@ -295,6 +297,25 @@ public class SysRoleServiceImpl extends ServiceImpl impl return sysMenuOptionsService.getOptionsCodeList(roleBindMenuOptionsIdList); } + @Override + public List getRolesByIds(List roleIds) { + + if (ObjectUtil.isEmpty(roleIds)) { + return new ArrayList<>(); + } + + LambdaQueryWrapper sysRoleLambdaQueryWrapper = new LambdaQueryWrapper<>(); + sysRoleLambdaQueryWrapper.in(SysRole::getRoleId, roleIds); + sysRoleLambdaQueryWrapper.select(SysRole::getRoleName, SysRole::getRoleId, SysRole::getRoleCode); + List sysRoleList = this.list(sysRoleLambdaQueryWrapper); + + if (ObjectUtil.isEmpty(sysRoleList)) { + return new ArrayList<>(); + } + + return BeanUtil.copyToList(sysRoleList, SysRoleDTO.class, CopyOptions.create().ignoreError()); + } + /** * 获取信息 *