From 1cb46aa3e3dc5925d0e36c837d19250bac3bb1fd Mon Sep 17 00:00:00 2001 From: hs12 Date: Fri, 22 Nov 2024 12:36:19 +0900 Subject: [PATCH 1/6] =?UTF-8?q?[feat]=20:=20=EC=B1=84=ED=8C=85=20=EC=9A=94?= =?UTF-8?q?=EC=B2=AD=EC=97=90=20createdAt=20=ED=95=84=EB=93=9C=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dnd/gongmuin/chat_inquiry/dto/ChatInquiryResponse.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/dnd/gongmuin/chat_inquiry/dto/ChatInquiryResponse.java b/src/main/java/com/dnd/gongmuin/chat_inquiry/dto/ChatInquiryResponse.java index 87bdb0e9..a2ef57a2 100644 --- a/src/main/java/com/dnd/gongmuin/chat_inquiry/dto/ChatInquiryResponse.java +++ b/src/main/java/com/dnd/gongmuin/chat_inquiry/dto/ChatInquiryResponse.java @@ -10,7 +10,8 @@ public record ChatInquiryResponse( String inquiryMessage, String inquiryStatus, boolean isInquirer, - MemberInfo chatPartner + MemberInfo chatPartner, + String createdAt ) { @QueryProjection public ChatInquiryResponse( From d43de77ca915ff68e4486e3019e39249a09d05c6 Mon Sep 17 00:00:00 2001 From: hs12 Date: Fri, 22 Nov 2024 12:39:35 +0900 Subject: [PATCH 2/6] =?UTF-8?q?[feat]=20:=20=EC=B1=84=ED=8C=85=20=EC=9A=94?= =?UTF-8?q?=EC=B2=AD=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20=ED=94=BD=EC=8A=A4?= =?UTF-8?q?=EC=B3=90=EC=97=90=20createdAt=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dnd/gongmuin/common/fixture/ChatInquiryFixture.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/test/java/com/dnd/gongmuin/common/fixture/ChatInquiryFixture.java b/src/test/java/com/dnd/gongmuin/common/fixture/ChatInquiryFixture.java index 4cd9a170..e9ce9079 100644 --- a/src/test/java/com/dnd/gongmuin/common/fixture/ChatInquiryFixture.java +++ b/src/test/java/com/dnd/gongmuin/common/fixture/ChatInquiryFixture.java @@ -1,5 +1,7 @@ package com.dnd.gongmuin.common.fixture; +import java.time.LocalDateTime; + import org.springframework.test.util.ReflectionTestUtils; import com.dnd.gongmuin.chat_inquiry.domain.ChatInquiry; @@ -40,6 +42,7 @@ public static ChatInquiry chatInquiry( message ); ReflectionTestUtils.setField(chatInquiry, "id", id); + ReflectionTestUtils.setField(chatInquiry, "createdAt", LocalDateTime.now()); return chatInquiry; } } From 925386ac8f8fa4775e61096a3267e045ee2d1225 Mon Sep 17 00:00:00 2001 From: hs12 Date: Fri, 22 Nov 2024 12:42:12 +0900 Subject: [PATCH 3/6] =?UTF-8?q?[feat]=20:=20=EC=B1=84=ED=8C=85=20=ED=8C=8C?= =?UTF-8?q?=ED=8A=B8=EB=84=88=20=EA=B5=AC=ED=95=98=EB=8A=94=20=EB=A1=9C?= =?UTF-8?q?=EC=A7=81=20DTO=EC=97=90=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chat_inquiry/dto/ChatInquiryResponse.java | 38 +++++++++---------- .../ChatInquiryQueryRepositoryImpl.java | 22 +---------- 2 files changed, 21 insertions(+), 39 deletions(-) diff --git a/src/main/java/com/dnd/gongmuin/chat_inquiry/dto/ChatInquiryResponse.java b/src/main/java/com/dnd/gongmuin/chat_inquiry/dto/ChatInquiryResponse.java index a2ef57a2..dec89cc9 100644 --- a/src/main/java/com/dnd/gongmuin/chat_inquiry/dto/ChatInquiryResponse.java +++ b/src/main/java/com/dnd/gongmuin/chat_inquiry/dto/ChatInquiryResponse.java @@ -1,7 +1,7 @@ package com.dnd.gongmuin.chat_inquiry.dto; -import com.dnd.gongmuin.chat_inquiry.domain.InquiryStatus; -import com.dnd.gongmuin.member.domain.JobGroup; +import com.dnd.gongmuin.chat_inquiry.domain.ChatInquiry; +import com.dnd.gongmuin.member.domain.Member; import com.dnd.gongmuin.question_post.dto.response.MemberInfo; import com.querydsl.core.annotations.QueryProjection; @@ -15,26 +15,26 @@ public record ChatInquiryResponse( ) { @QueryProjection public ChatInquiryResponse( - Long chatInquiryId, - String inquiryMessage, - InquiryStatus inquiryStatus, - boolean isInquirer, - Long partnerId, - String partnerNickname, - JobGroup partnerJobGroup, - int partnerProfileImageNo + ChatInquiry chatInquiry, + boolean isInquirer ) { this( - chatInquiryId, - inquiryMessage, - inquiryStatus.getLabel(), + chatInquiry.getId(), + chatInquiry.getMessage(), + chatInquiry.getStatus().getLabel(), isInquirer, - new MemberInfo( - partnerId, - partnerNickname, - partnerJobGroup.getLabel(), - partnerProfileImageNo - ) + createPartnerInfo(isInquirer, chatInquiry), + chatInquiry.getCreatedAt().toString() + ); + } + + private static MemberInfo createPartnerInfo(boolean isInquirer, ChatInquiry chatInquiry) { + Member partner = isInquirer ? chatInquiry.getAnswerer(): chatInquiry.getInquirer(); + return new MemberInfo( + partner.getId(), + partner.getNickname(), + partner.getJobGroup().getLabel(), + partner.getProfileImageNo() ); } } diff --git a/src/main/java/com/dnd/gongmuin/chat_inquiry/repository/ChatInquiryQueryRepositoryImpl.java b/src/main/java/com/dnd/gongmuin/chat_inquiry/repository/ChatInquiryQueryRepositoryImpl.java index 0510d2df..b8fa741a 100644 --- a/src/main/java/com/dnd/gongmuin/chat_inquiry/repository/ChatInquiryQueryRepositoryImpl.java +++ b/src/main/java/com/dnd/gongmuin/chat_inquiry/repository/ChatInquiryQueryRepositoryImpl.java @@ -26,29 +26,11 @@ public class ChatInquiryQueryRepositoryImpl implements ChatInquiryQueryRepositor public Slice getChatInquiresByMember(Member member, Pageable pageable) { List content = queryFactory .select(new QChatInquiryResponse( - chatInquiry.id, - chatInquiry.message, - chatInquiry.status, + chatInquiry, new CaseBuilder() .when(chatInquiry.inquirer.id.eq(member.getId())) .then(true) - .otherwise(false), - new CaseBuilder() - .when(chatInquiry.inquirer.id.eq(member.getId())) - .then(chatInquiry.answerer.id) - .otherwise(chatInquiry.inquirer.id), - new CaseBuilder() - .when(chatInquiry.inquirer.id.eq(member.getId())) - .then(chatInquiry.answerer.nickname) - .otherwise(chatInquiry.inquirer.nickname), - new CaseBuilder() - .when(chatInquiry.inquirer.id.eq(member.getId())) - .then(chatInquiry.answerer.jobGroup) - .otherwise(chatInquiry.inquirer.jobGroup), - new CaseBuilder() - .when(chatInquiry.inquirer.id.eq(member.getId())) - .then(chatInquiry.answerer.profileImageNo) - .otherwise(chatInquiry.inquirer.profileImageNo) + .otherwise(false) )) .from(chatInquiry) .where(chatInquiry.inquirer.id.eq(member.getId()) From 3749152a5c9b45e3534cae9e1c4d6a5ae2bae439 Mon Sep 17 00:00:00 2001 From: hs12 Date: Fri, 22 Nov 2024 12:43:26 +0900 Subject: [PATCH 4/6] =?UTF-8?q?[refactor]=20:=20=EC=B1=84=ED=8C=85=20?= =?UTF-8?q?=ED=8C=8C=ED=8A=B8=EB=84=88=20=EA=B5=AC=ED=95=98=EB=8A=94=20?= =?UTF-8?q?=EB=A1=9C=EC=A7=81=20DTO=EB=A1=9C=20=EC=9D=B4=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chat_inquiry/service/ChatInquiryServiceTest.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/test/java/com/dnd/gongmuin/chat_inquiry/service/ChatInquiryServiceTest.java b/src/test/java/com/dnd/gongmuin/chat_inquiry/service/ChatInquiryServiceTest.java index 632bc320..7a0aa3b9 100644 --- a/src/test/java/com/dnd/gongmuin/chat_inquiry/service/ChatInquiryServiceTest.java +++ b/src/test/java/com/dnd/gongmuin/chat_inquiry/service/ChatInquiryServiceTest.java @@ -141,10 +141,10 @@ void getChatInquiresByMember() { Long chatInquiryId = 1L; Member targetMember = MemberFixture.member(1L); Member partner = MemberFixture.member(2L); - ChatInquiryResponse chatInquiryResponse = new ChatInquiryResponse( - chatInquiryId, INQUIRY_MESSAGE, InquiryStatus.PENDING, true, partner.getId(), - partner.getNickname(), partner.getJobGroup(), partner.getProfileImageNo() + ChatInquiry chatInquiry = ChatInquiryFixture.chatInquiry( + QuestionPostFixture.questionPost(targetMember), targetMember, partner, INQUIRY_MESSAGE ); + ChatInquiryResponse chatInquiryResponse = new ChatInquiryResponse(chatInquiry, true); given(chatInquiryRepository.getChatInquiresByMember(targetMember, pageRequest)) .willReturn(new SliceImpl<>(List.of(chatInquiryResponse), pageRequest, false)); From 70da9d6ae804473b0147ec8481252443468ee410 Mon Sep 17 00:00:00 2001 From: hs12 Date: Fri, 22 Nov 2024 12:44:09 +0900 Subject: [PATCH 5/6] =?UTF-8?q?[style]=20:=20=EC=BD=94=EB=93=9C=20?= =?UTF-8?q?=EB=A6=AC=ED=8F=AC=EB=A9=A7=ED=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dnd/gongmuin/chat_inquiry/dto/ChatInquiryResponse.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/dnd/gongmuin/chat_inquiry/dto/ChatInquiryResponse.java b/src/main/java/com/dnd/gongmuin/chat_inquiry/dto/ChatInquiryResponse.java index dec89cc9..7e827ae7 100644 --- a/src/main/java/com/dnd/gongmuin/chat_inquiry/dto/ChatInquiryResponse.java +++ b/src/main/java/com/dnd/gongmuin/chat_inquiry/dto/ChatInquiryResponse.java @@ -29,7 +29,7 @@ public ChatInquiryResponse( } private static MemberInfo createPartnerInfo(boolean isInquirer, ChatInquiry chatInquiry) { - Member partner = isInquirer ? chatInquiry.getAnswerer(): chatInquiry.getInquirer(); + Member partner = isInquirer ? chatInquiry.getAnswerer() : chatInquiry.getInquirer(); return new MemberInfo( partner.getId(), partner.getNickname(), From d890e4f299066c1fdb9bc383854d33bfb28cd61d Mon Sep 17 00:00:00 2001 From: hs12 Date: Fri, 22 Nov 2024 14:25:15 +0900 Subject: [PATCH 6/6] =?UTF-8?q?[test]=20:=20createdAt=20=ED=8F=AC=ED=95=A8?= =?UTF-8?q?=EB=90=9C=20testFixture=20=EC=82=AC=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gongmuin/chat_inquiry/service/ChatInquiryServiceTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/com/dnd/gongmuin/chat_inquiry/service/ChatInquiryServiceTest.java b/src/test/java/com/dnd/gongmuin/chat_inquiry/service/ChatInquiryServiceTest.java index 7a0aa3b9..7ec73484 100644 --- a/src/test/java/com/dnd/gongmuin/chat_inquiry/service/ChatInquiryServiceTest.java +++ b/src/test/java/com/dnd/gongmuin/chat_inquiry/service/ChatInquiryServiceTest.java @@ -142,7 +142,7 @@ void getChatInquiresByMember() { Member targetMember = MemberFixture.member(1L); Member partner = MemberFixture.member(2L); ChatInquiry chatInquiry = ChatInquiryFixture.chatInquiry( - QuestionPostFixture.questionPost(targetMember), targetMember, partner, INQUIRY_MESSAGE + 1L, QuestionPostFixture.questionPost(targetMember), targetMember, partner, INQUIRY_MESSAGE ); ChatInquiryResponse chatInquiryResponse = new ChatInquiryResponse(chatInquiry, true); given(chatInquiryRepository.getChatInquiresByMember(targetMember, pageRequest))