package io.company.localhost.mapper; import java.util.List; import java.util.Map; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.ResultType; import io.company.localhost.common.dto.MapDto; @Mapper public interface localbordMapper { // 공지사항 조회 List selectNotices(MapDto map); // 자유/비밀 게시판 조회 List selectGeneralPosts(MapDto map); // 조회수 증가 void updateIncrementViewCount(Long boardId); // 게시물 작성 void insertBoard(MapDto map); // 첨부파일 저장 void insertAttachment(MapDto map); // 게시물 삭제 void deleteBoard(MapDto map); // 게시물 삭제시 댓글/대댓글 삭제 void deleteCommentsByBoardId(MapDto map); // 게시물 수정 void updateBoard(MapDto map); // 기존 반응 조회 MapDto selectReaction(MapDto map); // 새 반응 삽입 void insertReaction(MapDto map); // 기존 반응 업데이트 void updateReaction(MapDto map); // 댓글 조회 List selectComments(MapDto map); //대댓글 조회 List selectReply(MapDto map); // 댓글/대댓글 작성 void insertCommentOrReply(MapDto map); // 댓글/대댓글 수정 void updateComment(MapDto map); // 대댓글인지 확인 boolean selectIsReply(MapDto map); // 댓글에 대댓글이 있는지 확인 boolean selectHasReplies(MapDto map); // 댓글 내용만 삭제 처리 (대댓글 유지) void updateSoftDeleteComment(MapDto map); // 댓글 삭제 (대댓글 없음) void deleteComment(MapDto map); // 대댓글 삭제 void deleteReply(MapDto map); // 댓글 비밀번호 조회 String selectCommentPassword(int commentId); // 게시물 비밀번호 조회 String selectBoardPassword(int boardId); // 게시물 상세보기 MapDto selectBoardDetail(Long boardId); // 댓글 갯수 int selectCountComments(Long boardId); // 첨부파일 유무 int selectIsAttachments(Long boardId); // 게시물 좋아요/싫어요 개수 MapDto selectCountBoardReactions(Long boardId); // 댓글 좋아요/싫어요 개수 MapDto selectCountCommentReactions(Long commentId); // 첨부파일 가져오기 List selectAttachments(Long boardId); //댓글id 확인 MapDto selectCommentById(int commentId); }