SysRoleMenuServiceImpl.java 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package com.fdkankan.manage.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  4. import com.fdkankan.manage.entity.SysMenu;
  5. import com.fdkankan.manage.entity.SysRoleMenu;
  6. import com.fdkankan.manage.mapper.ISysRoleMenuMapper;
  7. import com.fdkankan.manage.service.ISysMenuService;
  8. import com.fdkankan.manage.service.ISysRoleMenuService;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.stereotype.Service;
  11. import java.util.ArrayList;
  12. import java.util.HashMap;
  13. import java.util.List;
  14. /**
  15. * <p>
  16. * 服务实现类
  17. * </p>
  18. *
  19. * @author
  20. * @since 2022-06-09
  21. */
  22. @Service
  23. public class SysRoleMenuServiceImpl extends ServiceImpl<ISysRoleMenuMapper, SysRoleMenu> implements ISysRoleMenuService {
  24. @Autowired
  25. ISysMenuService sysMenuService;
  26. @Override
  27. public void deleteByRoleId(Long roleId) {
  28. LambdaQueryWrapper<SysRoleMenu> wrapper = new LambdaQueryWrapper<>();
  29. wrapper.eq(SysRoleMenu::getRoleId,roleId);
  30. this.remove(wrapper);
  31. }
  32. @Override
  33. public void saveBatchByRoleId(Long roleId, List<Long> menuIds) {
  34. List<SysRoleMenu> sysMenus = new ArrayList<>();
  35. HashMap<Long, SysMenu> menuMap = sysMenuService.getByIds(menuIds);
  36. for (Long menuId : menuIds) {
  37. Long parentId = menuMap.get(menuId).getParentId();
  38. if(!menuIds.contains(parentId)){
  39. menuIds.add(parentId);
  40. }
  41. }
  42. for (Long menuId : menuIds) {
  43. SysRoleMenu roleMenu = new SysRoleMenu();
  44. roleMenu.setRoleId(roleId);
  45. roleMenu.setMenuId(menuId);
  46. sysMenus.add(roleMenu);
  47. }
  48. this.saveBatch(sysMenus);
  49. }
  50. @Override
  51. public List<SysRoleMenu> getByRoleId(Long roleId) {
  52. LambdaQueryWrapper<SysRoleMenu> wrapper = new LambdaQueryWrapper<>();
  53. wrapper.eq(SysRoleMenu::getRoleId,roleId);
  54. return this.list(wrapper);
  55. }
  56. }