From 8597367453701d5118e68c39092bf60fdbfa5b57 Mon Sep 17 00:00:00 2001 From: bunny <1319900154@qq.com> Date: Tue, 23 Apr 2024 22:11:34 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=96=B0=E5=A2=9E):=20:rocket:=20?= =?UTF-8?q?=E7=BB=99=E8=A7=92=E8=89=B2=E5=88=86=E9=85=8D=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../auth/service/impl/SysMenuServiceImpl.java | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/service-oa/src/main/java/com/atguigu/auth/service/impl/SysMenuServiceImpl.java b/service-oa/src/main/java/com/atguigu/auth/service/impl/SysMenuServiceImpl.java index f28a41d..17e1fde 100644 --- a/service-oa/src/main/java/com/atguigu/auth/service/impl/SysMenuServiceImpl.java +++ b/service-oa/src/main/java/com/atguigu/auth/service/impl/SysMenuServiceImpl.java @@ -8,12 +8,17 @@ import com.atguigu.common.utlis.MenuHelper; import com.atguigu.constant.MessageConstant; import com.atguigu.exception.BunnyException; import com.atguigu.model.system.SysMenu; +import com.atguigu.model.system.SysRoleMenu; import com.atguigu.vo.system.AssginMenuVo; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.StringUtils; +import java.util.ArrayList; import java.util.List; /** @@ -88,10 +93,26 @@ public class SysMenuServiceImpl extends ServiceImpl impl /** * 给角色分配权限 * - * @param assginMenuVo 分配条件 + * @param vo 分配条件 */ + @Transactional @Override - public void doAssign(AssginMenuVo assginMenuVo) { + public void doAssign(AssginMenuVo vo) { + // 删除之前的 + sysRoleMenuService.remove(Wrappers.lambdaQuery().eq(SysRoleMenu::getRoleId, vo.getRoleId())); + ArrayList sysRoleMenuArrayList = new ArrayList<>(); + // 为角色分配菜单 + vo.getMenuIdList().forEach(menuId -> { + if (!StringUtils.isEmpty(menuId)) { + SysRoleMenu sysRoleMenu = new SysRoleMenu(); + sysRoleMenu.setRoleId(vo.getRoleId()); + sysRoleMenu.setMenuId(menuId); + sysRoleMenuArrayList.add(sysRoleMenu); + } + }); + + // 批量添加 + sysRoleMenuService.saveBatch(sysRoleMenuArrayList); } }