package com.takensoft.cms.menu.dao; import com.takensoft.cms.author.vo.AuthorVO; import com.takensoft.cms.contsType.vo.ContsTypeVO; import com.takensoft.cms.dept.vo.DeptVO; import com.takensoft.cms.menu.vo.*; import com.takensoft.common.HierachyVO; import org.egovframe.rte.psl.dataaccess.mapper.Mapper; import java.util.HashMap; import java.util.List; /** * @author takensoft * @since 2024.04.01 * @modification * since | author | description * 2024.04.01 | takensoft | 최초 등록 * 2024.04.08 | takensoft | findTopMenu, findChildMenus, save, findByMenu, findByMenuGrd, findByMenuSn, saveMenuStsfdg 추가 * 2024.04.15 | takensoft | findExceptTopMenu, update 추가 * 2024.04.24 | takensoft | findChildNode 추가 * 2024.04.25 | takensoft | findByTopNode 추가 * 2024.04.29 | 박정하 | deleteMenu 추가 * 2024.05.02 | 박정하 | findUpMenuId 추가 * 2024.05.09 | 박정하 | findByMenuWithRouter 추가 * 2024.05.10 | 박정하 | menuUpdateByHierachy, updateByContsId 추가 * 2024.06.07 | 방선주 | bbsMngMenuDelete 추가 * 2024.07.18 | 박정하 | findAllCnt 추가 * 2025.03.13 | 방선주 | 코드 리펙토링 * * 메뉴 정보 관련 DAO */ @Mapper("menuDAO") public interface MenuDAO { /** * @param * @return List - 최상위 메뉴 목록 * * 최상위 메뉴 조회 */ List findTopMenu(); /** * @param menuId - 상위 메뉴 ID * @return List - 하위 메뉴 목록 * * 하위 메뉴 조회 */ List findChildMenus(String menuId); /** * @param menuVO - 메뉴 정보 * @return List - 메뉴 목록 * * 메뉴 전체 조회(최상위 메뉴 제외-> grd:0) */ List findExceptTopMenu(MenuVO menuVO); /** * @param menuVO - 메뉴 정보 * @return int - 등록 성공 여부 * * 메뉴 등록 */ int save(MenuVO menuVO); /** * @param menuVO - 메뉴 정보 * @return int - 수정 성공 여부 * * 메뉴 수정 */ int update(MenuVO menuVO); /** * @param menuId - 메뉴 ID * @return MenuVO - 메뉴 정보 * * 메뉴 상세 조회 */ MenuVO findByMenu(String menuId); /** * @param upMenuId - 상위 메뉴 ID * @return int - 상위 메뉴 깊이 * * 메뉴 깊이 조회 */ int findByMenuGrd(String upMenuId); /** * @param upMenuId - 상위 메뉴 ID * @return int - 메뉴 순서 max 값 * * 메뉴 순서 조회 */ int findByMenuSn(String upMenuId); /** * @param menuStsfdgVO - 메뉴 만족도 정보 * @return int - 등록 성공 여부 * * 메뉴별 만족도 등록 */ int saveMenuStsfdg(MenuStsfdgVO menuStsfdgVO); /************************************** Hierachy 전용 **************************************/ /** * @param * @return List - 부서 목록 * * 최상위 부서 조회 */ List findByTopNode(); /** * @param id - 상위 부서 ID * @return List - 하위 부서 목록 * * 하위 부서 조회 */ List findChildNode(String id); /************************************** Hierachy 전용 **************************************/ /** * @param menuVO - 메뉴 정보 * @return int - 삭제 성공 여부 * * 상위,하위 메뉴 삭제 */ int deleteMenu(MenuVO menuVO); /** * @param MenuId - 메뉴 ID * @return String - 상위 메뉴 ID * * 상위 메뉴 조회 */ String findUpMenuId(String MenuId); /** * @param menuRequest - 메뉴 조회 param 정보 * @return List - 메뉴 목록 * * 메뉴 조회(시스템용) */ List findByMenuWithRouter(MenuRequest menuRequest); /** * @param menuVO - 메뉴 정보 * @return int - 수정 성공 여부 * * 메뉴 정보 수정 (hierachyVO 사용) */ int menuUpdateByHierachy(MenuVO menuVO); /** * @param contsTypeVO - 콘텐츠 유형 정보 * @return int - 수정 성공 여부 * * 메뉴 수정 (콘텐츠 유형) */ int updateByContsId(ContsTypeVO contsTypeVO); /** * @param menuVO - 메뉴 정보 * @return int - 미노출 변경 성공 여부 * * 게시판 삭제 시 게시판 메뉴 미노출 */ int bbsMngMenuDelete(MenuVO menuVO); /** * @param params - 메뉴 정보 * @return int - 메뉴 개수 * * 메뉴 개수 조회 (접속 통계용) */ int findAllCnt(HashMap params); }