package com.dsh.guns.modular.system.service.impl; import java.util.List; import java.util.Map; import javax.annotation.Resource; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsh.course.mapper.MenuMapper; import com.dsh.course.model.node.MenuNode; import com.dsh.course.model.node.ZTreeNode; import org.springframework.stereotype.Service; import com.dsh.guns.modular.system.model.Menu; import com.dsh.guns.modular.system.service.IMenuService; /** * 菜单服务 * * @author fengshuonan * @date 2017-05-05 22:20 */ @Service public class MenuServiceImpl extends ServiceImpl implements IMenuService { @Resource private MenuMapper menuMapper; @Override public void delMenu(Long menuId) { //删除菜单 delete menu this.menuMapper.deleteById(menuId); //删除关联的delete relation this.menuMapper.deleteRelationByMenu(menuId); } @Override public void delMenuContainSubMenus(Long menuId) { Menu menu = menuMapper.selectById(menuId); //删除当前菜单 dele current menu delMenu(menuId); //删除所有子菜单 delete all sub menu QueryWrapper wrapper = new QueryWrapper<>(); wrapper = wrapper.like("pcodes", "%[" + menu.getCode() + "]%"); List menus = menuMapper.selectList(wrapper); for (Menu temp : menus) { delMenu(temp.getId()); } } @Override public List> selectMenus(String condition, String level) { return this.baseMapper.selectMenus(condition, level); } @Override public List getMenuIdsByRoleId(Integer roleId) { return this.baseMapper.getMenuIdsByRoleId(roleId); } @Override public List menuTreeList() { return this.baseMapper.menuTreeList(); } @Override public List menuTreeListByMenuIds(List menuIds) { return this.baseMapper.menuTreeListByMenuIds(menuIds); } @Override public int deleteRelationByMenu(Long menuId) { return this.baseMapper.deleteRelationByMenu(menuId); } @Override public List getResUrlsByRoleId(Integer roleId) { return this.baseMapper.getResUrlsByRoleId(roleId); } @Override public List getMenusByRoleIds(List roleIds) { return this.baseMapper.getMenusByRoleIds(roleIds); } }