diff --git a/ebike-staff/src/main/java/com/cdzy/staff/controller/EbikeRolePermissionController.java b/ebike-staff/src/main/java/com/cdzy/staff/controller/EbikeRolePermissionController.java index 048885e..40512be 100644 --- a/ebike-staff/src/main/java/com/cdzy/staff/controller/EbikeRolePermissionController.java +++ b/ebike-staff/src/main/java/com/cdzy/staff/controller/EbikeRolePermissionController.java @@ -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 list = ebikeRolePermissionService.listAs(queryWrapper, Long.class); diff --git a/ebike-staff/src/main/java/com/cdzy/staff/service/impl/EbikeRolePermissionServiceImpl.java b/ebike-staff/src/main/java/com/cdzy/staff/service/impl/EbikeRolePermissionServiceImpl.java index c8e9be6..552f5cb 100644 --- a/ebike-staff/src/main/java/com/cdzy/staff/service/impl/EbikeRolePermissionServiceImpl.java +++ b/ebike-staff/src/main/java/com/cdzy/staff/service/impl/EbikeRolePermissionServiceImpl.java @@ -47,40 +47,41 @@ public class EbikeRolePermissionServiceImpl extends ServiceImpl 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 ebikePermissions = permissionMapper.selectListByQuery(queryWrapper); - //获取所有有效权限id - queryWrapper.clear(); - queryWrapper.where(EBIKE_PERMISSION.PERMISSION_ID.in(permissionIds)); - List ebikePermissions = permissionMapper.selectListByQuery(queryWrapper); - - permissionIds.clear(); - if (ebikePermissions != null && !ebikePermissions.isEmpty()) { - List 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 parentIds = new ArrayList<>(); + //父级授权 + for (EbikePermission ebikePermission : ebikePermissions) { + permissionIds.add(ebikePermission.getPermissionId()); + if (ebikePermission.getParentId() != null) { + parentIds.add(ebikePermission.getParentId()); + } } + List rolePermissions = permissionIds.stream().map(permissionId -> EbikeRolePermission.builder() + .roleId(roleId) + .permissionId(permissionId) + .createBy(loginId) + .isEmpower(false) + .build()).toList(); + List parentRolePermissions = parentIds.stream().map(permissionId -> EbikeRolePermission.builder() + .roleId(roleId) + .permissionId(permissionId) + .createBy(loginId) + .isEmpower(true) + .build()).toList(); + rolePermissionMapper.insertBatch(rolePermissions); + rolePermissionMapper.insertBatch(parentRolePermissions); } - List rolePermissions = permissionIds.stream().map(permissionId -> EbikeRolePermission.builder() - .roleId(roleId) - .permissionId(permissionId) - .createBy(loginId) - .isEmpower(false) - .build()).toList(); - List parentRolePermissions = parentIds.stream().map(permissionId -> EbikeRolePermission.builder() - .roleId(roleId) - .permissionId(permissionId) - .createBy(loginId) - .isEmpower(true) - .build()).toList(); - rolePermissionMapper.insertBatch(rolePermissions); - rolePermissionMapper.insertBatch(parentRolePermissions); } } }