package com.dl.system.mapper; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.dl.common.constant.UserConstants; import com.dl.common.core.domain.entity.SysMenu; import com.dl.common.core.mapper.BaseMapperPlus; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 菜单表 数据层 * * @author Lion Li */ public interface SysMenuMapper extends BaseMapperPlus { /** * 根据用户所有权限 * * @return 权限列表 */ List selectMenuPerms(); /** * 根据用户查询系统菜单列表 * * @param queryWrapper 查询条件 * @return 菜单列表 */ List selectMenuListByUserId(@Param(Constants.WRAPPER) Wrapper queryWrapper); /** * 根据用户ID查询权限 * * @param userId 用户ID * @return 权限列表 */ List selectMenuPermsByUserId(String userId); /** * 根据角色ID查询权限 * * @param roleId 角色ID * @return 权限列表 */ List selectMenuPermsByRoleId(Long roleId); /** * 根据用户ID查询菜单 * * @return 菜单列表 */ default List selectMenuTreeAll() { LambdaQueryWrapper lqw = new LambdaQueryWrapper() .in(SysMenu::getMenuType, UserConstants.TYPE_DIR, UserConstants.TYPE_MENU) .eq(SysMenu::getStatus, UserConstants.MENU_NORMAL) .orderByAsc(SysMenu::getParentId) .orderByAsc(SysMenu::getOrderNum); return this.selectList(lqw); } /** * 根据用户ID查询菜单 * * @param userId 用户ID * @return 菜单列表 */ List selectMenuTreeByUserId(String userId); /** * 根据角色ID查询菜单树信息 * * @param roleId 角色ID * @param menuCheckStrictly 菜单树选择项是否关联显示 * @return 选中菜单列表 */ List selectMenuListByRoleId(@Param("roleId") Long roleId, @Param("menuCheckStrictly") boolean menuCheckStrictly); }