feat(新增): 🚀 给角色分配权限

This commit is contained in:
bunny 2024-04-23 22:11:34 +08:00
parent 2735f56d83
commit 8597367453
1 changed files with 23 additions and 2 deletions

View File

@ -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<SysMenuMapper, SysMenu> impl
/**
* 给角色分配权限
*
* @param assginMenuVo 分配条件
* @param vo 分配条件
*/
@Transactional
@Override
public void doAssign(AssginMenuVo assginMenuVo) {
public void doAssign(AssginMenuVo vo) {
// 删除之前的
sysRoleMenuService.remove(Wrappers.<SysRoleMenu>lambdaQuery().eq(SysRoleMenu::getRoleId, vo.getRoleId()));
ArrayList<SysRoleMenu> 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);
}
}