33 lines
1.0 KiB
Java
33 lines
1.0 KiB
Java
|
|
package com.ga.common.menu;
|
||
|
|
|
||
|
|
import org.apache.ibatis.annotations.Mapper;
|
||
|
|
import org.apache.ibatis.annotations.Param;
|
||
|
|
|
||
|
|
import java.util.List;
|
||
|
|
import java.util.Map;
|
||
|
|
|
||
|
|
@Mapper
|
||
|
|
public interface MenuMapper {
|
||
|
|
|
||
|
|
/** 전체 활성 메뉴 (정렬됨) */
|
||
|
|
List<MenuVO> selectAllActive();
|
||
|
|
|
||
|
|
/** 사용자가 접근 가능한 메뉴 목록 */
|
||
|
|
List<MenuVO> selectAccessibleMenusByUserId(@Param("userId") Long userId);
|
||
|
|
|
||
|
|
/** 사용자별 (menuId → permCodes) 매핑 */
|
||
|
|
List<Map<String, Object>> selectUserPermissions(@Param("userId") Long userId);
|
||
|
|
|
||
|
|
/** 단일 (menuCode, permCode) 권한 보유 여부 */
|
||
|
|
int hasPermission(@Param("userId") Long userId,
|
||
|
|
@Param("menuCode") String menuCode,
|
||
|
|
@Param("permCode") String permCode);
|
||
|
|
|
||
|
|
MenuVO selectById(@Param("menuId") Long menuId);
|
||
|
|
MenuVO selectByCode(@Param("menuCode") String menuCode);
|
||
|
|
int insert(MenuVO vo);
|
||
|
|
int update(MenuVO vo);
|
||
|
|
int deleteById(@Param("menuId") Long menuId);
|
||
|
|
int countChildren(@Param("menuId") Long menuId);
|
||
|
|
}
|