From 088d6ea1b19a219bb72c97a4741bab3dc829da93 Mon Sep 17 00:00:00 2001 From: yangsb Date: Wed, 17 Apr 2024 09:26:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=A4=9A=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E9=85=8D=E8=A7=92=E8=89=B2=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/permission/PermissionController.java | 9 +++++++++ .../system/service/permission/PermissionService.java | 4 ++++ .../service/permission/PermissionServiceImpl.java | 12 +++++++++++- 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/permission/PermissionController.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/permission/PermissionController.java index 59f720886..5fe5b1f68 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/permission/PermissionController.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/permission/PermissionController.java @@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.validation.Valid; +import java.util.List; import java.util.Set; import static com.cf.imes.framework.common.pojo.CommonResult.success; @@ -80,4 +81,12 @@ public class PermissionController { return success(true); } + @Operation(summary = "赋予多用户角色") + @PostMapping("/bath-assign-user-role") + @PreAuthorize("@ss.hasPermission('system:permission:assign-user-role')") + public CommonResult bathAssignUserRole(@Validated @RequestBody List listReqVO) { + permissionService.bathAssignUserRole(listReqVO); + return success(true); + } + } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/permission/PermissionService.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/permission/PermissionService.java index 26602d060..98eb5d99c 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/permission/PermissionService.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/permission/PermissionService.java @@ -1,8 +1,10 @@ package com.cf.imes.module.system.service.permission; import com.cf.imes.module.system.api.permission.dto.DeptDataPermissionRespDTO; +import com.cf.imes.module.system.controller.admin.permission.vo.permission.PermissionAssignUserRoleReqVO; import java.util.Collection; +import java.util.List; import java.util.Set; import static java.util.Collections.singleton; @@ -152,4 +154,6 @@ public interface PermissionService { DeptDataPermissionRespDTO getDeptDataPermission(Long userId); Set getRoleMenuListByRoleId2(Set roleIds); + + void bathAssignUserRole(List listReqVO); } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/permission/PermissionServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/permission/PermissionServiceImpl.java index db9c86b35..36a0e2b16 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/permission/PermissionServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/permission/PermissionServiceImpl.java @@ -12,6 +12,7 @@ import com.cf.imes.framework.organ.core.aop.OrganIgnore; import com.cf.imes.framework.organ.core.context.OrganContextHolder; import com.cf.imes.framework.organ.core.db.OrganBaseDO; import com.cf.imes.module.system.api.permission.dto.DeptDataPermissionRespDTO; +import com.cf.imes.module.system.controller.admin.permission.vo.permission.PermissionAssignUserRoleReqVO; import com.cf.imes.module.system.dal.dataobject.permission.MenuDO; import com.cf.imes.module.system.dal.dataobject.permission.RoleDO; import com.cf.imes.module.system.dal.dataobject.permission.RoleMenuDO; @@ -212,6 +213,15 @@ public class PermissionServiceImpl implements PermissionService { return convertSet(from, RoleMenuDO::getMenuId); } + @Override + @DSTransactional + public void bathAssignUserRole(List listReqVO) { + Long organId = OrganContextHolder.getOrganId(); + listReqVO.forEach(e->{ + assignUserRole(e.getUserId(), e.getRoleIds(), organId); + }); + } + @Override @Cacheable(value = RedisKeyConstants.MENU_ROLE_ID_LIST, key = "#menuId") public Set getMenuRoleIdListByMenuIdFromCache(Long menuId) { @@ -235,7 +245,7 @@ public class PermissionServiceImpl implements PermissionService { @DSTransactional // 多数据源,使用 @DSTransactional 保证本地事务,以及数据源的切换 @CacheEvict(value = RedisKeyConstants.USER_ROLE_ID_LIST, key = "#userId") public void assignUserRole(Long userId, Set roleIds, Long organId) { - // 获得角色拥有角色编号 + // 获得用户拥有角色编号 Set dbRoleIds = convertSet(userRoleMapper.selectListByUserId(userId), UserRoleDO::getRoleId); // 计算新增和删除的角色编号