权限分配逻辑
This commit is contained in:
parent
994b2c36fa
commit
dfb13e28a8
@ -1,11 +1,8 @@
|
||||
package com.cdzy.staff.controller;
|
||||
|
||||
import com.cdzy.common.model.request.PageParam;
|
||||
import com.cdzy.common.model.response.JsonResult;
|
||||
import com.cdzy.staff.model.entity.EbikeRolePermission;
|
||||
import com.cdzy.staff.model.vo.EbikeRolePermissionVo;
|
||||
import com.cdzy.staff.service.EbikeRolePermissionService;
|
||||
import com.mybatisflex.core.paginate.Page;
|
||||
import com.mybatisflex.core.query.QueryWrapper;
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
@ -50,6 +47,7 @@ public class EbikeRolePermissionController {
|
||||
@GetMapping("list")
|
||||
public JsonResult<?> list(@NotNull(message = "角色ID不能为空") Long roleId) {
|
||||
QueryWrapper queryWrapper = QueryWrapper.create()
|
||||
.select(EBIKE_ROLE_PERMISSION.PERMISSION_ID)
|
||||
.where(EBIKE_ROLE_PERMISSION.ROLE_ID.eq(roleId))
|
||||
.where(EBIKE_ROLE_PERMISSION.IS_EMPOWER.eq(Boolean.FALSE));
|
||||
List<Long> list = ebikeRolePermissionService.listAs(queryWrapper, Long.class);
|
||||
|
||||
@ -47,40 +47,41 @@ public class EbikeRolePermissionServiceImpl extends ServiceImpl<EbikeRolePermiss
|
||||
checkRole(roleId);
|
||||
List<Long> permissionIds = ebikeRolePermission.getPermissionIds();
|
||||
long loginId = StpUtil.getLoginIdAsLong();
|
||||
if (permissionIds != null && !permissionIds.isEmpty()) {
|
||||
if (permissionIds != null) {
|
||||
QueryWrapper queryWrapper = QueryWrapper.create()
|
||||
.where(EBIKE_ROLE_PERMISSION.ROLE_ID.eq(roleId));
|
||||
rolePermissionMapper.deleteByQuery(queryWrapper);
|
||||
if (!permissionIds.isEmpty()) {
|
||||
//获取所有有效权限id
|
||||
queryWrapper.clear();
|
||||
queryWrapper.where(EBIKE_PERMISSION.PERMISSION_ID.in(permissionIds));
|
||||
List<EbikePermission> ebikePermissions = permissionMapper.selectListByQuery(queryWrapper);
|
||||
|
||||
//获取所有有效权限id
|
||||
queryWrapper.clear();
|
||||
queryWrapper.where(EBIKE_PERMISSION.PERMISSION_ID.in(permissionIds));
|
||||
List<EbikePermission> ebikePermissions = permissionMapper.selectListByQuery(queryWrapper);
|
||||
|
||||
permissionIds.clear();
|
||||
if (ebikePermissions != null && !ebikePermissions.isEmpty()) {
|
||||
List<Long> parentIds = new ArrayList<>();
|
||||
//父级授权
|
||||
for (EbikePermission ebikePermission : ebikePermissions) {
|
||||
permissionIds.add(ebikePermission.getPermissionId());
|
||||
if (ebikePermission.getParentId() != null) {
|
||||
parentIds.add(ebikePermission.getParentId());
|
||||
permissionIds.clear();
|
||||
if (ebikePermissions != null && !ebikePermissions.isEmpty()) {
|
||||
List<Long> parentIds = new ArrayList<>();
|
||||
//父级授权
|
||||
for (EbikePermission ebikePermission : ebikePermissions) {
|
||||
permissionIds.add(ebikePermission.getPermissionId());
|
||||
if (ebikePermission.getParentId() != null) {
|
||||
parentIds.add(ebikePermission.getParentId());
|
||||
}
|
||||
}
|
||||
List<EbikeRolePermission> rolePermissions = permissionIds.stream().map(permissionId -> EbikeRolePermission.builder()
|
||||
.roleId(roleId)
|
||||
.permissionId(permissionId)
|
||||
.createBy(loginId)
|
||||
.isEmpower(false)
|
||||
.build()).toList();
|
||||
List<EbikeRolePermission> parentRolePermissions = parentIds.stream().map(permissionId -> EbikeRolePermission.builder()
|
||||
.roleId(roleId)
|
||||
.permissionId(permissionId)
|
||||
.createBy(loginId)
|
||||
.isEmpower(true)
|
||||
.build()).toList();
|
||||
rolePermissionMapper.insertBatch(rolePermissions);
|
||||
rolePermissionMapper.insertBatch(parentRolePermissions);
|
||||
}
|
||||
List<EbikeRolePermission> rolePermissions = permissionIds.stream().map(permissionId -> EbikeRolePermission.builder()
|
||||
.roleId(roleId)
|
||||
.permissionId(permissionId)
|
||||
.createBy(loginId)
|
||||
.isEmpower(false)
|
||||
.build()).toList();
|
||||
List<EbikeRolePermission> parentRolePermissions = parentIds.stream().map(permissionId -> EbikeRolePermission.builder()
|
||||
.roleId(roleId)
|
||||
.permissionId(permissionId)
|
||||
.createBy(loginId)
|
||||
.isEmpower(true)
|
||||
.build()).toList();
|
||||
rolePermissionMapper.insertBatch(rolePermissions);
|
||||
rolePermissionMapper.insertBatch(parentRolePermissions);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user