package com.stylefeng.guns.modular.system.service.impl; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.stylefeng.guns.core.node.MenuNode; import com.stylefeng.guns.core.node.ZTreeNode; import com.stylefeng.guns.modular.system.dao.MenuMapper; import com.stylefeng.guns.modular.system.model.Menu; import com.stylefeng.guns.modular.system.service.IMenuService; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; import java.util.Map; /** * 菜单服务 * * @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) { //删除菜单 this.menuMapper.deleteById(menuId); //删除关联的relation this.menuMapper.deleteRelationByMenu(menuId); } @Override public void delMenuContainSubMenus(Long menuId) { Menu menu = menuMapper.selectById(menuId); //删除当前菜单 delMenu(menuId); //删除所有子菜单 Wrapper wrapper = new EntityWrapper<>(); 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); } }