【8.1.0】【role】更新角色列表接口

pull/60/head
fengshuonan 2024-01-16 19:28:38 +08:00
parent 99eb5357e7
commit a8a89a5e08
4 changed files with 56 additions and 9 deletions

View File

@ -53,7 +53,7 @@ public class PermissionAssignController {
*/
@GetResource(name = "获取所有角色列表", path = "/permission/getRoleList")
public ResponseData<List<SysRole>> getRoleList(SysRoleRequest sysRoleRequest) {
return new SuccessResponseData<>(sysRoleService.findList(sysRoleRequest));
return new SuccessResponseData<>(sysRoleService.permissionGetRoleList(sysRoleRequest));
}
/**

View File

@ -117,9 +117,9 @@ public class SysRoleController {
* @author fengshuonan
* @date 2023/06/10 21:29
*/
@GetResource(name = "分页查询-角色列表", path = "/sysRole/list")
@GetResource(name = "获取所有角色列表,一般用在用户分配角色,响应所有的角色列表", path = "/sysRole/list")
public ResponseData<List<SysRole>> list(SysRoleRequest sysRoleRequest) {
return new SuccessResponseData<>(sysRoleService.findList(sysRoleRequest));
return new SuccessResponseData<>(sysRoleService.userAssignRoleList(sysRoleRequest));
}
}

View File

@ -62,14 +62,16 @@ public interface SysRoleService extends IService<SysRole>, SysRoleServiceApi {
SysRole detail(SysRoleRequest sysRoleRequest);
/**
*
*
* <p>
*
*
* @param sysRoleRequest
* @return List<SysRole>
* @author fengshuonan
* @date 2023/06/10 21:29
*/
List<SysRole> findList(SysRoleRequest sysRoleRequest);
List<SysRole> permissionGetRoleList(SysRoleRequest sysRoleRequest);
/**
*
@ -109,4 +111,12 @@ public interface SysRoleService extends IService<SysRole>, SysRoleServiceApi {
*/
DataScopeTypeEnum getRoleDataScope(List<Long> roleIds);
/**
*
*
* @author fengshuonan
* @since 2024-01-16 19:07
*/
List<SysRole> userAssignRoleList(SysRoleRequest sysRoleRequest);
}

View File

@ -230,13 +230,26 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
}
@Override
public List<SysRole> findList(SysRoleRequest sysRoleRequest) {
public List<SysRole> userAssignRoleList(SysRoleRequest sysRoleRequest) {
LambdaQueryWrapper<SysRole> wrapper = this.createWrapper(sysRoleRequest);
// 只查询id和名称
wrapper.select(SysRole::getRoleId, SysRole::getRoleName, SysRole::getRoleType);
// 填写角色的权限信息
// 过滤角色的权限信息
this.filterUserAssignRoleList(wrapper);
return this.list(wrapper);
}
@Override
public List<SysRole> permissionGetRoleList(SysRoleRequest sysRoleRequest) {
LambdaQueryWrapper<SysRole> wrapper = this.createWrapper(sysRoleRequest);
// 只查询id和名称
wrapper.select(SysRole::getRoleId, SysRole::getRoleName);
// 过滤角色的权限信息
this.filterRolePermission(wrapper, sysRoleRequest);
return this.list(wrapper);
@ -347,8 +360,7 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
// 根据名称模糊搜索
String searchText = sysRoleRequest.getSearchText();
if (ObjectUtil.isNotEmpty(searchText)) {
queryWrapper.like(SysRole::getRoleName, searchText);
queryWrapper.or().like(SysRole::getRoleCode, searchText);
queryWrapper.nested(i -> i.like(SysRole::getRoleName, searchText).or().like(SysRole::getRoleCode, searchText));
}
// 排序字段
@ -383,6 +395,8 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
*
* <p>
*
* <p>
*
*
* @author fengshuonan
* @since 2023/10/9 10:44
@ -409,6 +423,29 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
wrapper.eq(SysRole::getRoleCompanyId, LoginContext.me().getCurrentUserCompanyId());
}
/**
*
*
* @author fengshuonan
* @since 2024-01-16 19:08
*/
private void filterUserAssignRoleList(LambdaQueryWrapper<SysRole> wrapper) {
// 超级管理员,获取系统类型的角色 + 当前登录公司的角色
boolean superAdminFlag = LoginContext.me().getSuperAdminFlag();
if (superAdminFlag) {
// 根据角色类型填充参数
wrapper.nested(i ->
i.eq(SysRole::getRoleType, RoleTypeEnum.SYSTEM_ROLE.getCode())
.or()
.eq(SysRole::getRoleCompanyId, LoginContext.me().getCurrentUserCompanyId()));
return;
}
// 非超级管理员直接拼好角色类型和角色的公司id只能查本公司的
wrapper.eq(SysRole::getRoleType, RoleTypeEnum.COMPANY_ROLE.getCode());
wrapper.eq(SysRole::getRoleCompanyId, LoginContext.me().getCurrentUserCompanyId());
}
/**
*
*