From dfb13e28a86a5d196db0f212b684407d5661591e39c5e2644aff5e7fc681a1d0 Mon Sep 17 00:00:00 2001 From: attiya <2413103649@qq.com> Date: Mon, 8 Sep 2025 13:39:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9D=83=E9=99=90=E5=88=86=E9=85=8D=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EbikeRolePermissionController.java | 4 +- .../impl/EbikeRolePermissionServiceImpl.java | 57 ++++++++++--------- 2 files changed, 30 insertions(+), 31 deletions(-) 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); } } }