【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") @GetResource(name = "获取所有角色列表", path = "/permission/getRoleList")
public ResponseData<List<SysRole>> getRoleList(SysRoleRequest sysRoleRequest) { 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 * @author fengshuonan
* @date 2023/06/10 21:29 * @date 2023/06/10 21:29
*/ */
@GetResource(name = "分页查询-角色列表", path = "/sysRole/list") @GetResource(name = "获取所有角色列表,一般用在用户分配角色,响应所有的角色列表", path = "/sysRole/list")
public ResponseData<List<SysRole>> list(SysRoleRequest sysRoleRequest) { 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); SysRole detail(SysRoleRequest sysRoleRequest);
/** /**
* *
* <p>
*
* *
* @param sysRoleRequest * @param sysRoleRequest
* @return List<SysRole> * @return List<SysRole>
* @author fengshuonan * @author fengshuonan
* @date 2023/06/10 21:29 * @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); 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 @Override
public List<SysRole> findList(SysRoleRequest sysRoleRequest) { public List<SysRole> userAssignRoleList(SysRoleRequest sysRoleRequest) {
LambdaQueryWrapper<SysRole> wrapper = this.createWrapper(sysRoleRequest); LambdaQueryWrapper<SysRole> wrapper = this.createWrapper(sysRoleRequest);
// 只查询id和名称 // 只查询id和名称
wrapper.select(SysRole::getRoleId, SysRole::getRoleName, SysRole::getRoleType); 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); this.filterRolePermission(wrapper, sysRoleRequest);
return this.list(wrapper); return this.list(wrapper);
@ -347,8 +360,7 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
// 根据名称模糊搜索 // 根据名称模糊搜索
String searchText = sysRoleRequest.getSearchText(); String searchText = sysRoleRequest.getSearchText();
if (ObjectUtil.isNotEmpty(searchText)) { if (ObjectUtil.isNotEmpty(searchText)) {
queryWrapper.like(SysRole::getRoleName, searchText); queryWrapper.nested(i -> i.like(SysRole::getRoleName, searchText).or().like(SysRole::getRoleCode, searchText));
queryWrapper.or().like(SysRole::getRoleCode, searchText);
} }
// 排序字段 // 排序字段
@ -383,6 +395,8 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
* *
* <p> * <p>
* *
* <p>
*
* *
* @author fengshuonan * @author fengshuonan
* @since 2023/10/9 10:44 * @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()); 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());
}
/** /**
* *
* *