diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/RoleServiceApi.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/RoleServiceApi.java index bdd0a6a59..a38b7c1e8 100644 --- a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/RoleServiceApi.java +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/RoleServiceApi.java @@ -161,4 +161,12 @@ public interface RoleServiceApi { */ void grantResourceV2GrantAll(SysRoleRequest sysRoleRequest); + /** + * 通过角色编码获取角色 + * + * @author fengshuonan + * @date 2022/10/21 0:18 + */ + SysRoleDTO getRoleByCode(String roleCode); + } diff --git a/kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/system/modular/role/service/impl/SysRoleServiceImpl.java b/kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/system/modular/role/service/impl/SysRoleServiceImpl.java index 6eb356aaf..0dc9c67dd 100644 --- a/kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/system/modular/role/service/impl/SysRoleServiceImpl.java +++ b/kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/system/modular/role/service/impl/SysRoleServiceImpl.java @@ -190,6 +190,27 @@ public class SysRoleServiceImpl extends ServiceImpl impl this.sysRoleResourceService.batchSaveResCodes(sysRoleRequest.getRoleId(), totalResourceCode); } + @Override + public SysRoleDTO getRoleByCode(String roleCode) { + if (roleCode == null) { + return null; + } + + LambdaQueryWrapper sysRoleLambdaQueryWrapper = new LambdaQueryWrapper<>(); + sysRoleLambdaQueryWrapper.eq(SysRole::getRoleCode, roleCode); + sysRoleLambdaQueryWrapper.ne(SysRole::getDelFlag, YesOrNotEnum.Y.getCode()); + SysRole sysRole = this.getOne(sysRoleLambdaQueryWrapper, false); + + if (sysRole == null) { + return null; + } + + SysRoleDTO roleResponse = new SysRoleDTO(); + BeanUtil.copyProperties(sysRole, roleResponse); + + return roleResponse; + } + @Override @Transactional(rollbackFor = Exception.class) public void edit(SysRoleRequest sysRoleRequest) {