diff --git a/src/main/java/com/web/SearchWeb/board/controller/BoardController.java b/src/main/java/com/web/SearchWeb/board/controller/BoardController.java index a379912..5076a3e 100644 --- a/src/main/java/com/web/SearchWeb/board/controller/BoardController.java +++ b/src/main/java/com/web/SearchWeb/board/controller/BoardController.java @@ -4,7 +4,7 @@ import com.web.SearchWeb.board.domain.Board; import com.web.SearchWeb.board.dto.BoardDto; import com.web.SearchWeb.board.service.BoardService; -import com.web.SearchWeb.board.service.LikeBookmarkService; +import com.web.SearchWeb.likes.service.LikesService; import com.web.SearchWeb.bookmark.dto.BoardBookmarkCheckDto; import com.web.SearchWeb.bookmark.dto.BookmarkDto; import com.web.SearchWeb.bookmark.service.BookmarkService; @@ -22,7 +22,6 @@ import org.springframework.web.bind.annotation.*; import java.util.HashMap; -import java.util.List; import java.util.Map; /** @@ -44,14 +43,14 @@ public class BoardController { private final BoardService boardservice; private final MemberService memberservice; - private final LikeBookmarkService likebookmarkservice; + private final LikesService likesService; private final BookmarkService bookmarkService; @Autowired - public BoardController(BoardService boardservice, MemberService memberservice, LikeBookmarkService likebookmarkservice, BookmarkService bookmarkService) { + public BoardController(BoardService boardservice, MemberService memberservice, LikesService likesService, BookmarkService bookmarkService) { this.boardservice = boardservice; this.memberservice = memberservice; - this.likebookmarkservice = likebookmarkservice; + this.likesService = likesService; this.bookmarkService = bookmarkService; } @@ -119,7 +118,7 @@ else if(currentUser instanceof OAuth2User) { return "redirect:/error"; } - boolean isLiked = likebookmarkservice.isLiked(boardId, memberId); + boolean isLiked = likesService.isLiked(boardId, memberId); int isBookmarked = bookmarkService.isBookmarked(boardId, memberId); model.addAttribute("isLiked", isLiked); model.addAttribute("isBookmarked", isBookmarked); @@ -182,7 +181,7 @@ else if(currentUser instanceof OAuth2User) { return response; } - boolean isLiked = likebookmarkservice.toggleLike(boardId, memberId); + boolean isLiked = likesService.toggleLike(boardId, memberId); response.put("isLiked", isLiked); return response; } diff --git a/src/main/java/com/web/SearchWeb/board/service/BoardService.java b/src/main/java/com/web/SearchWeb/board/service/BoardService.java index 7a6abe8..2c9e561 100644 --- a/src/main/java/com/web/SearchWeb/board/service/BoardService.java +++ b/src/main/java/com/web/SearchWeb/board/service/BoardService.java @@ -4,6 +4,7 @@ import com.web.SearchWeb.board.domain.Board; import com.web.SearchWeb.board.dto.BoardDto; import com.web.SearchWeb.comment.service.CommentService; +import com.web.SearchWeb.likes.service.LikesService; import com.web.SearchWeb.member.service.MemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -18,14 +19,14 @@ public class BoardService { private final BoardDao boardDao; private final MemberService memberService; - private final LikeBookmarkService likeBookmarkService; + private final LikesService likesService; private final CommentService commentService; @Autowired - public BoardService(BoardDao boardDao, MemberService memberService, LikeBookmarkService likeBookmarkService, CommentService commentService) { + public BoardService(BoardDao boardDao, MemberService memberService, LikesService likesService, CommentService commentService) { this.boardDao = boardDao; this.memberService = memberService; - this.likeBookmarkService = likeBookmarkService; + this.likesService = likesService; this.commentService = commentService; } diff --git a/src/main/java/com/web/SearchWeb/board/dao/LikeBookmarkDao.java b/src/main/java/com/web/SearchWeb/likes/dao/LikesDao.java similarity index 82% rename from src/main/java/com/web/SearchWeb/board/dao/LikeBookmarkDao.java rename to src/main/java/com/web/SearchWeb/likes/dao/LikesDao.java index 5ac63ca..ded5bc7 100644 --- a/src/main/java/com/web/SearchWeb/board/dao/LikeBookmarkDao.java +++ b/src/main/java/com/web/SearchWeb/likes/dao/LikesDao.java @@ -1,7 +1,7 @@ -package com.web.SearchWeb.board.dao; +package com.web.SearchWeb.likes.dao; -public interface LikeBookmarkDao { +public interface LikesDao { // 게시글 좋아요 상태 확인 Boolean isLikedByMember( int boardId, int memberId); diff --git a/src/main/java/com/web/SearchWeb/board/dao/MybatisLikeBookmarkDao.java b/src/main/java/com/web/SearchWeb/likes/dao/MybatisLikesDao.java similarity index 79% rename from src/main/java/com/web/SearchWeb/board/dao/MybatisLikeBookmarkDao.java rename to src/main/java/com/web/SearchWeb/likes/dao/MybatisLikesDao.java index 0465781..666a16a 100644 --- a/src/main/java/com/web/SearchWeb/board/dao/MybatisLikeBookmarkDao.java +++ b/src/main/java/com/web/SearchWeb/likes/dao/MybatisLikesDao.java @@ -1,18 +1,18 @@ -package com.web.SearchWeb.board.dao; +package com.web.SearchWeb.likes.dao; import org.apache.ibatis.session.SqlSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; @Repository -public class MybatisLikeBookmarkDao implements LikeBookmarkDao{ +public class MybatisLikesDao implements LikesDao { - private final LikeBookmarkDao mapper; + private final LikesDao mapper; @Autowired - public MybatisLikeBookmarkDao(SqlSession sqlSession) { + public MybatisLikesDao(SqlSession sqlSession) { //세션을 통해 mapper 컨테이너에서 mapper 객체를 꺼내 씀 - mapper = sqlSession.getMapper(LikeBookmarkDao.class); + mapper = sqlSession.getMapper(LikesDao.class); } /** diff --git a/src/main/java/com/web/SearchWeb/board/service/LikeBookmarkService.java b/src/main/java/com/web/SearchWeb/likes/service/LikesService.java similarity index 65% rename from src/main/java/com/web/SearchWeb/board/service/LikeBookmarkService.java rename to src/main/java/com/web/SearchWeb/likes/service/LikesService.java index 194f9a9..141c47c 100644 --- a/src/main/java/com/web/SearchWeb/board/service/LikeBookmarkService.java +++ b/src/main/java/com/web/SearchWeb/likes/service/LikesService.java @@ -1,20 +1,20 @@ -package com.web.SearchWeb.board.service; +package com.web.SearchWeb.likes.service; import com.web.SearchWeb.board.dao.BoardDao; -import com.web.SearchWeb.board.dao.LikeBookmarkDao; +import com.web.SearchWeb.likes.dao.LikesDao; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @Service -public class LikeBookmarkService { +public class LikesService { - private final LikeBookmarkDao likeBookmarkDao; + private final LikesDao likesDao; private final BoardDao boardDao; @Autowired - public LikeBookmarkService(LikeBookmarkDao likeBookmarkDao, BoardDao boardDao) { - this.likeBookmarkDao = likeBookmarkDao; + public LikesService(LikesDao likesDao, BoardDao boardDao) { + this.likesDao = likesDao; this.boardDao = boardDao; } @@ -23,7 +23,7 @@ public LikeBookmarkService(LikeBookmarkDao likeBookmarkDao, BoardDao boardDao) { * 게시글 좋아요 상태 확인 */ public boolean isLiked(int boardId, int memberId) { - Boolean isLiked = likeBookmarkDao.isLikedByMember(boardId, memberId); + Boolean isLiked = likesDao.isLikedByMember(boardId, memberId); return Boolean.TRUE.equals(isLiked); } @@ -34,16 +34,16 @@ public boolean isLiked(int boardId, int memberId) { @Transactional public boolean toggleLike(int boardId, int memberId) { //게시글 좋아요 상태 확인 - Boolean isLiked = likeBookmarkDao.isLikedByMember(boardId, memberId); + Boolean isLiked = likesDao.isLikedByMember(boardId, memberId); if (isLiked == null || Boolean.FALSE.equals(isLiked)) { // 좋아요가 안 되어 있다면, 좋아요 추가 - likeBookmarkDao.likeBoard(boardId, memberId); + likesDao.likeBoard(boardId, memberId); boardDao.incrementLikeCount(boardId); // likes_count + 1 return true; } else { // 좋아요가 이미 되어 있다면, 좋아요 취소 - likeBookmarkDao.unlikeBoard(boardId, memberId); + likesDao.unlikeBoard(boardId, memberId); boardDao.decrementLikeCount(boardId); // likes_count - 1 return false; } @@ -54,7 +54,7 @@ public boolean toggleLike(int boardId, int memberId) { * 게시글 좋아요 수 조회 */ public int getLikeCount(int boardId) { - return likeBookmarkDao.countLikes(boardId); + return likesDao.countLikes(boardId); } } \ No newline at end of file diff --git a/src/main/resources/db/init.sql b/src/main/resources/db/init.sql index 1ac5c83..e60b670 100644 --- a/src/main/resources/db/init.sql +++ b/src/main/resources/db/init.sql @@ -61,11 +61,11 @@ CREATE TABLE `board` ( DROP TABLE IF EXISTS `likes`; CREATE TABLE `likes` ( - `likes_Id` int NOT NULL AUTO_INCREMENT, + `likesId` int NOT NULL AUTO_INCREMENT, `board_boardId` int NOT NULL, `member_memberId` int NOT NULL, `is_Liked` tinyint(1) DEFAULT '0', - PRIMARY KEY (`likes_Id`), + PRIMARY KEY (`likesId`), UNIQUE KEY `unique_board_member` (`board_boardId`,`member_memberId`), KEY `member_memberId_idx` (`member_memberId`) /*!80000 INVISIBLE */, KEY `board_boardId` (`board_boardId`), @@ -116,25 +116,6 @@ CREATE TABLE `bookmark` ( CONSTRAINT `fk_bookmark_folder` FOREIGN KEY (`folder_folderId`) REFERENCES `folder` (`folderId`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; - --- likebookmark 테이블 생성 -DROP TABLE IF EXISTS `likebookmark`; - -CREATE TABLE `likebookmark` ( - `likebookmarkId` int NOT NULL AUTO_INCREMENT, - `board_boardId` int NOT NULL, - `member_memberId` int NOT NULL, - `is_Liked` tinyint(1) DEFAULT '0', - `is_Bookmarked` tinyint(1) DEFAULT '0', - PRIMARY KEY (`likebookmarkId`), - UNIQUE KEY `unique_board_member` (`board_boardId`,`member_memberId`), - KEY `member_memberId_idx` (`member_memberId`) /*!80000 INVISIBLE */, - KEY `board_boardId` (`board_boardId`), - CONSTRAINT `board_boardId` FOREIGN KEY (`board_boardId`) REFERENCES `board` (`boardId`) ON DELETE CASCADE, - CONSTRAINT `member_memberId` FOREIGN KEY (`member_memberId`) REFERENCES `member` (`memberId`) ON DELETE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; - - -- comment 테이블 생성 DROP TABLE IF EXISTS `comment`; diff --git a/src/main/resources/mapper/likebookmark-mapper.xml b/src/main/resources/mapper/likes-mapper.xml similarity index 78% rename from src/main/resources/mapper/likebookmark-mapper.xml rename to src/main/resources/mapper/likes-mapper.xml index aa97a63..fc89472 100644 --- a/src/main/resources/mapper/likebookmark-mapper.xml +++ b/src/main/resources/mapper/likes-mapper.xml @@ -5,11 +5,11 @@ - + - select COUNT(*) FROM likebookmark + select COUNT(*) FROM likes WHERE board_boardId = #{boardId} AND