From b347b1b49bf59c5f728b5b42f37eaf0cd30484fb Mon Sep 17 00:00:00 2001 From: csct3434 Date: Sat, 27 Jan 2024 19:35:45 +0900 Subject: [PATCH 1/3] =?UTF-8?q?refactor:=20=EB=AF=B8=EC=82=AC=EC=9A=A9=20?= =?UTF-8?q?=EC=97=94=ED=8B=B0=ED=8B=B0=20=EC=86=8D=EC=84=B1=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0=20(Friendship.valid)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 친구 요청을 별도의 FriendRequest 엔티티로 관리하여 더 이상 valid 속성은 사용되지 않는다 - valid: 친구 요청 승인 여부를 나타내는 속성 --- .../seasoning/friendship/domain/Friendship.java | 14 +------------- .../service/AcceptFriendRequestService.java | 4 ++-- .../friendship/service/UnfriendServiceTest.java | 4 ++-- 3 files changed, 5 insertions(+), 17 deletions(-) diff --git a/src/main/java/today/seasoning/seasoning/friendship/domain/Friendship.java b/src/main/java/today/seasoning/seasoning/friendship/domain/Friendship.java index a76cb09..cedec53 100644 --- a/src/main/java/today/seasoning/seasoning/friendship/domain/Friendship.java +++ b/src/main/java/today/seasoning/seasoning/friendship/domain/Friendship.java @@ -28,21 +28,9 @@ public class Friendship extends BaseTimeEntity { @JoinColumn(name = "friend_id") private User friend; - @Column(nullable = false) - private boolean valid; - - public Friendship(User user, User friend, boolean valid) { + public Friendship(User user, User friend) { this.id = TsidUtil.createLong(); this.user = user; this.friend = friend; - this.valid = valid; - } - - public boolean isValid() { - return valid; - } - - public void setValid() { - this.valid = true; } } diff --git a/src/main/java/today/seasoning/seasoning/friendship/service/AcceptFriendRequestService.java b/src/main/java/today/seasoning/seasoning/friendship/service/AcceptFriendRequestService.java index 2cc7a03..aee6489 100644 --- a/src/main/java/today/seasoning/seasoning/friendship/service/AcceptFriendRequestService.java +++ b/src/main/java/today/seasoning/seasoning/friendship/service/AcceptFriendRequestService.java @@ -39,8 +39,8 @@ public void doService(Long userId, String requesterAccountId) { } // 친구 관계 설정 - friendshipRepository.save(new Friendship(user, requester, true)); - friendshipRepository.save(new Friendship(requester, user, true)); + friendshipRepository.save(new Friendship(user, requester)); + friendshipRepository.save(new Friendship(requester, user)); // 친구 요청 내역 삭제 friendRequestRepository.deleteByFromUserIdAndToUserId(requester.getId(), user.getId()); diff --git a/src/test/java/today/seasoning/seasoning/friendship/service/UnfriendServiceTest.java b/src/test/java/today/seasoning/seasoning/friendship/service/UnfriendServiceTest.java index 47a103f..6313c3e 100644 --- a/src/test/java/today/seasoning/seasoning/friendship/service/UnfriendServiceTest.java +++ b/src/test/java/today/seasoning/seasoning/friendship/service/UnfriendServiceTest.java @@ -36,8 +36,8 @@ class UnfriendServiceTest { User user = new User("user", "https://test/user.jpg", "user@email.com", LoginType.KAKAO); User friend = new User("friend", "https://test/friend.jpg", "friend@email.com", LoginType.KAKAO); - Friendship userToFriendFriendship = new Friendship(user, friend, true); - Friendship friendToUserFriendship = new Friendship(friend, user, true); + Friendship userToFriendFriendship = new Friendship(user, friend); + Friendship friendToUserFriendship = new Friendship(friend, user); @Test @DisplayName("성공") From dd34c08f47f7dd1a660e56cdcbe0a331c59b9c3f Mon Sep 17 00:00:00 2001 From: csct3434 Date: Sat, 27 Jan 2024 20:01:43 +0900 Subject: [PATCH 2/3] =?UTF-8?q?refactor:=20Friendship=20=ED=85=8C=EC=9D=B4?= =?UTF-8?q?=EB=B8=94=20=EB=B3=80=EA=B2=BD=EC=9C=BC=EB=A1=9C=20=EC=9D=B8?= =?UTF-8?q?=ED=95=9C=20=EC=B9=9C=EA=B5=AC=20=EA=B2=8C=EC=8B=9C=EA=B8=80=20?= =?UTF-8?q?=EC=A1=B0=ED=9A=8C=20SQL=EB=AC=B8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../article/service/FindMyFriendsArticlesService.java | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/main/java/today/seasoning/seasoning/article/service/FindMyFriendsArticlesService.java b/src/main/java/today/seasoning/seasoning/article/service/FindMyFriendsArticlesService.java index 2cf7ecf..6d4469a 100644 --- a/src/main/java/today/seasoning/seasoning/article/service/FindMyFriendsArticlesService.java +++ b/src/main/java/today/seasoning/seasoning/article/service/FindMyFriendsArticlesService.java @@ -22,15 +22,7 @@ public class FindMyFriendsArticlesService { private final EntityManager entityManager; private final String SQL = "SELECT a FROM Article a " + - "INNER JOIN Friendship f ON a.user.id = f.friend.id " + - "WHERE f.user.id = :userId " + - "AND f.valid = true " + - "AND EXISTS (" + - " SELECT 1 FROM Friendship f2 " + - " WHERE f2.user.id = a.user.id " + - " AND f2.friend.id = :userId " + - " AND f2.valid = true" + - ") " + + "INNER JOIN Friendship f ON a.user.id = f.user.id AND f.friend.id = :userId " + "AND a.published = true " + "AND a.id < :articleId " + "ORDER BY a.id DESC"; From 9d59fc57080efb8f6dfe1106acf13d107978624c Mon Sep 17 00:00:00 2001 From: csct3434 Date: Sat, 27 Jan 2024 20:02:15 +0900 Subject: [PATCH 3/3] =?UTF-8?q?refactor:=20=EB=AF=B8=EC=82=AC=EC=9A=A9=20i?= =?UTF-8?q?mport=EB=AC=B8=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../today/seasoning/seasoning/friendship/domain/Friendship.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/today/seasoning/seasoning/friendship/domain/Friendship.java b/src/main/java/today/seasoning/seasoning/friendship/domain/Friendship.java index cedec53..76d1f75 100644 --- a/src/main/java/today/seasoning/seasoning/friendship/domain/Friendship.java +++ b/src/main/java/today/seasoning/seasoning/friendship/domain/Friendship.java @@ -1,6 +1,5 @@ package today.seasoning.seasoning.friendship.domain; -import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.Id;