package com.fdkankan.manage.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fdkankan.manage.entity.SysMenu; import com.fdkankan.manage.entity.SysRoleMenu; import com.fdkankan.manage.mapper.ISysRoleMenuMapper; import com.fdkankan.manage.service.ISysMenuService; import com.fdkankan.manage.service.ISysRoleMenuService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.HashMap; import java.util.List; /** *

* 服务实现类 *

* * @author * @since 2022-06-09 */ @Service public class SysRoleMenuServiceImpl extends ServiceImpl implements ISysRoleMenuService { @Autowired ISysMenuService sysMenuService; @Override public void deleteByRoleId(Long roleId) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(SysRoleMenu::getRoleId,roleId); this.remove(wrapper); } @Override public void saveBatchByRoleId(Long roleId, List menuIds) { List sysMenus = new ArrayList<>(); HashMap menuMap = sysMenuService.getByIds(menuIds); for (Long menuId : menuIds) { Long parentId = menuMap.get(menuId).getParentId(); if(!menuIds.contains(parentId)){ menuIds.add(parentId); } } for (Long menuId : menuIds) { SysRoleMenu roleMenu = new SysRoleMenu(); roleMenu.setRoleId(roleId); roleMenu.setMenuId(menuId); sysMenus.add(roleMenu); } this.saveBatch(sysMenus); } @Override public List getByRoleId(Long roleId) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(SysRoleMenu::getRoleId,roleId); return this.list(wrapper); } }