From e39ae183ccbfdb54b92973e2f2bc909e373fd58a Mon Sep 17 00:00:00 2001 From: hs12 Date: Thu, 26 Dec 2024 22:02:47 +0900 Subject: [PATCH 1/5] =?UTF-8?q?[refactor]=20:=20=ED=83=80=EC=9E=85?= =?UTF-8?q?=EB=B3=84=20=ED=81=AC=EB=A0=88=EB=94=A7=20=EC=A0=80=EC=9E=A5=20?= =?UTF-8?q?=ED=95=A8=EC=88=98=20=ED=86=B5=ED=95=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/CreditHistoryService.java | 28 ++----------------- 1 file changed, 2 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/dnd/gongmuin/credit_history/service/CreditHistoryService.java b/src/main/java/com/dnd/gongmuin/credit_history/service/CreditHistoryService.java index fee075c8..df69621e 100644 --- a/src/main/java/com/dnd/gongmuin/credit_history/service/CreditHistoryService.java +++ b/src/main/java/com/dnd/gongmuin/credit_history/service/CreditHistoryService.java @@ -3,16 +3,13 @@ import java.util.List; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import com.dnd.gongmuin.answer.domain.Answer; import com.dnd.gongmuin.credit_history.domain.CreditHistory; import com.dnd.gongmuin.credit_history.domain.CreditType; import com.dnd.gongmuin.credit_history.dto.CreditHistoryMapper; import com.dnd.gongmuin.credit_history.repository.CreditHistoryRepository; import com.dnd.gongmuin.member.domain.Member; import com.dnd.gongmuin.member.repository.MemberRepository; -import com.dnd.gongmuin.question_post.domain.QuestionPost; import lombok.RequiredArgsConstructor; @@ -23,18 +20,9 @@ public class CreditHistoryService { private final CreditHistoryRepository creditHistoryRepository; private final MemberRepository memberRepository; - @Transactional - public void saveChosenCreditHistory(QuestionPost questionPost, Answer answer) { + public void saveCreditHistory(CreditType creditType, int credit, Member member) { creditHistoryRepository.save( - CreditHistoryMapper.toCreditHistory(CreditType.CHOSEN, questionPost.getReward(), answer.getMember()) - ); - } - - @Transactional - public void saveChatCreditHistory(CreditType creditType, Member member) { - int chatCredit = 2000; - creditHistoryRepository.save( - CreditHistoryMapper.toCreditHistory(creditType, chatCredit, member) + CreditHistoryMapper.toCreditHistory(creditType, credit, member) ); } @@ -45,16 +33,4 @@ public void saveCreditHistoryInMemberIds(List memberIds, CreditType type, .toList(); creditHistoryRepository.saveAll(histories); } - - public void saveQuestionPostCreditHistory(int reward, Member member) { - creditHistoryRepository.save( - CreditHistoryMapper.toCreditHistory(CreditType.WRITE_QUESTION_POST, reward, member) - ); - } - - public void saveRefundQuestionPostCreditHistory(int reward, Member member) { - creditHistoryRepository.save( - CreditHistoryMapper.toCreditHistory(CreditType.REFUND_QUESTION_POST, reward, member) - ); - } } From eee0b84e2db386e387d8e7a472939c5220592f6d Mon Sep 17 00:00:00 2001 From: hs12 Date: Thu, 26 Dec 2024 22:04:47 +0900 Subject: [PATCH 2/5] =?UTF-8?q?[refactor]=20:=20=ED=86=B5=ED=95=A9?= =?UTF-8?q?=EB=90=9C=20=ED=81=AC=EB=A0=88=EB=94=A7=20=EC=A0=80=EC=9E=A5=20?= =?UTF-8?q?=EB=82=B4=EC=97=AD=20=ED=95=A8=EC=88=98=20=EC=82=AC=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dnd/gongmuin/answer/service/AnswerService.java | 7 ++++++- .../gongmuin/chat_inquiry/service/ChatInquiryService.java | 6 +++--- .../question_post/service/QuestionPostService.java | 6 ++++-- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/dnd/gongmuin/answer/service/AnswerService.java b/src/main/java/com/dnd/gongmuin/answer/service/AnswerService.java index e1f71459..54f6c3b1 100644 --- a/src/main/java/com/dnd/gongmuin/answer/service/AnswerService.java +++ b/src/main/java/com/dnd/gongmuin/answer/service/AnswerService.java @@ -17,6 +17,7 @@ import com.dnd.gongmuin.common.dto.PageResponse; import com.dnd.gongmuin.common.exception.runtime.NotFoundException; import com.dnd.gongmuin.common.exception.runtime.ValidationException; +import com.dnd.gongmuin.credit_history.domain.CreditType; import com.dnd.gongmuin.credit_history.service.CreditHistoryService; import com.dnd.gongmuin.member.domain.Member; import com.dnd.gongmuin.notification.dto.NotificationEvent; @@ -104,7 +105,11 @@ private void chooseAnswer(QuestionPost questionPost, Answer answer) { questionPost.updateIsChosen(answer); questionPost.updateStatus(QuestionPostStatus.CHOSEN_COMPLETED); answer.getMember().increaseCredit(questionPost.getReward()); - creditHistoryService.saveChosenCreditHistory(questionPost, answer); + creditHistoryService.saveCreditHistory( + CreditType.CHOSEN, + questionPost.getReward(), + questionPost.getMember() + ); } private void validateIfQuestionPostExists(Long questionPostId) { diff --git a/src/main/java/com/dnd/gongmuin/chat_inquiry/service/ChatInquiryService.java b/src/main/java/com/dnd/gongmuin/chat_inquiry/service/ChatInquiryService.java index 0ef669c3..091bc0d2 100644 --- a/src/main/java/com/dnd/gongmuin/chat_inquiry/service/ChatInquiryService.java +++ b/src/main/java/com/dnd/gongmuin/chat_inquiry/service/ChatInquiryService.java @@ -63,7 +63,7 @@ public CreateChatInquiryResponse createChatInquiry(CreateChatInquiryRequest requ ChatInquiryMapper.toChatInquiry(questionPost, inquirer, answerer, request.inquiryMessage()) ); memberRepository.save(inquirer); - creditHistoryService.saveChatCreditHistory(CreditType.CHAT_REQUEST, inquirer); + creditHistoryService.saveCreditHistory(CreditType.CHAT_REQUEST, CHAT_REWARD, inquirer); eventPublisher.publishEvent( new NotificationEvent(NotificationType.CHAT_REQUEST, chatInquiry.getId(), inquirer.getId(), answerer) ); @@ -96,7 +96,7 @@ public AcceptChatResponse acceptChat(Long chatInquiryId, Member answerer) { ChatInquiry chatInquiry = getChatInquiryById(chatInquiryId); validateIfAnswerer(answerer, chatInquiry); chatInquiry.updateStatusAccepted(); - creditHistoryService.saveChatCreditHistory(CreditType.CHAT_ACCEPT, answerer); + creditHistoryService.saveCreditHistory(CreditType.CHAT_ACCEPT, CHAT_REWARD, answerer); ChatRoom chatRoom = chatRoomRepository.save( ChatRoomMapper.toChatRoom(chatInquiry.getQuestionPost(), chatInquiry.getInquirer(), answerer) @@ -118,7 +118,7 @@ public RejectChatResponse rejectChat(Long chatInquiryId, Member answerer) { validateIfAnswerer(answerer, chatInquiry); chatInquiry.updateStatusRejected(); - creditHistoryService.saveChatCreditHistory(CreditType.CHAT_REFUND, chatInquiry.getInquirer()); + creditHistoryService.saveCreditHistory(CreditType.CHAT_REFUND, CHAT_REWARD, chatInquiry.getInquirer()); eventPublisher.publishEvent( new NotificationEvent(NotificationType.CHAT_REJECT, chatInquiry.getId(), answerer.getId(), chatInquiry.getInquirer()) diff --git a/src/main/java/com/dnd/gongmuin/question_post/service/QuestionPostService.java b/src/main/java/com/dnd/gongmuin/question_post/service/QuestionPostService.java index 63f59143..229243ab 100644 --- a/src/main/java/com/dnd/gongmuin/question_post/service/QuestionPostService.java +++ b/src/main/java/com/dnd/gongmuin/question_post/service/QuestionPostService.java @@ -10,6 +10,7 @@ import com.dnd.gongmuin.common.dto.PageMapper; import com.dnd.gongmuin.common.dto.PageResponse; import com.dnd.gongmuin.common.exception.runtime.NotFoundException; +import com.dnd.gongmuin.credit_history.domain.CreditType; import com.dnd.gongmuin.credit_history.service.CreditHistoryService; import com.dnd.gongmuin.member.domain.JobGroup; import com.dnd.gongmuin.member.domain.Member; @@ -61,7 +62,7 @@ public RegisterQuestionPostResponse registerQuestionPost( Member member ) { decreaseMemberCredit(request, member); - creditHistoryService.saveQuestionPostCreditHistory(request.reward(), member); + creditHistoryService.saveCreditHistory(CreditType.WRITE_QUESTION_POST, request.reward(), member); QuestionPost questionPost = QuestionPostMapper.toQuestionPost(request, member); return QuestionPostMapper.toRegisterQuestionPostResponse( @@ -157,7 +158,8 @@ private void refundQuestionPostCredit() { refundQuestionPostDto.member().increaseCredit(refundQuestionPostDto.reward()); memberRepository.save(refundQuestionPostDto.member()); - creditHistoryService.saveRefundQuestionPostCreditHistory( + creditHistoryService.saveCreditHistory( + CreditType.REFUND_QUESTION_POST, refundQuestionPostDto.reward(), refundQuestionPostDto.member() ); From f6a85f9fe808af4adb1f75be5e771669aa904d01 Mon Sep 17 00:00:00 2001 From: hs12 Date: Thu, 26 Dec 2024 22:05:25 +0900 Subject: [PATCH 3/5] =?UTF-8?q?[test]=20:=20=EB=B6=88=ED=95=84=EC=9A=94?= =?UTF-8?q?=ED=95=9C=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20=EB=A1=9C=EC=A7=81=20?= =?UTF-8?q?=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/CreditHistoryServiceTest.java | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/src/test/java/com/dnd/gongmuin/credit_history/service/CreditHistoryServiceTest.java b/src/test/java/com/dnd/gongmuin/credit_history/service/CreditHistoryServiceTest.java index ff41e03f..f1302d18 100644 --- a/src/test/java/com/dnd/gongmuin/credit_history/service/CreditHistoryServiceTest.java +++ b/src/test/java/com/dnd/gongmuin/credit_history/service/CreditHistoryServiceTest.java @@ -12,19 +12,15 @@ import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; -import com.dnd.gongmuin.answer.domain.Answer; -import com.dnd.gongmuin.common.fixture.AnswerFixture; import com.dnd.gongmuin.common.fixture.CreditHistoryFixture; import com.dnd.gongmuin.common.fixture.MemberFixture; -import com.dnd.gongmuin.common.fixture.QuestionPostFixture; import com.dnd.gongmuin.credit_history.domain.CreditHistory; import com.dnd.gongmuin.credit_history.domain.CreditType; import com.dnd.gongmuin.credit_history.repository.CreditHistoryRepository; import com.dnd.gongmuin.member.domain.Member; import com.dnd.gongmuin.member.repository.MemberRepository; -import com.dnd.gongmuin.question_post.domain.QuestionPost; -@DisplayName("[AnswerService 테스트]") +@DisplayName("[CreditHistoryService 테스트]") @ExtendWith(MockitoExtension.class) class CreditHistoryServiceTest { @@ -37,17 +33,6 @@ class CreditHistoryServiceTest { @InjectMocks private CreditHistoryService creditHistoryService; - @DisplayName("[크레딧 내역을 저장할 수 있다.]") - @Test - void saveChosenCreditHistory() { - QuestionPost questionPost = QuestionPostFixture.questionPost(MemberFixture.member(1L)); - Answer answer = AnswerFixture.answer(questionPost.getId(), MemberFixture.member(2L)); - - given(creditHistoryRepository.save(any(CreditHistory.class))).willReturn(any(CreditHistory.class)); - - creditHistoryService.saveChosenCreditHistory(questionPost, answer); - } - @DisplayName("회원 아이디 리스트에 속하는 회원에 대한 크레딧을 모두 저장할 수 있다.") @Test void test() { From 013484a65d4fa8ed69fe4a399598e80ca788b8cf Mon Sep 17 00:00:00 2001 From: hs12 Date: Thu, 26 Dec 2024 22:11:34 +0900 Subject: [PATCH 4/5] =?UTF-8?q?[test]=20:=20=EC=A7=88=EB=AC=B8=EA=B8=80=20?= =?UTF-8?q?=EB=93=B1=EB=A1=9D=20=EB=8B=A8=EC=9C=84=20=ED=85=8C=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=20=ED=8C=8C=EB=9D=BC=EB=AF=B8=ED=84=B0=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=20=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../question_post/service/QuestionPostServiceTest.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/test/java/com/dnd/gongmuin/question_post/service/QuestionPostServiceTest.java b/src/test/java/com/dnd/gongmuin/question_post/service/QuestionPostServiceTest.java index d81c2597..912fd0d0 100644 --- a/src/test/java/com/dnd/gongmuin/question_post/service/QuestionPostServiceTest.java +++ b/src/test/java/com/dnd/gongmuin/question_post/service/QuestionPostServiceTest.java @@ -18,6 +18,7 @@ import com.dnd.gongmuin.common.fixture.InteractionCountFixture; import com.dnd.gongmuin.common.fixture.MemberFixture; import com.dnd.gongmuin.common.fixture.QuestionPostFixture; +import com.dnd.gongmuin.credit_history.domain.CreditType; import com.dnd.gongmuin.credit_history.service.CreditHistoryService; import com.dnd.gongmuin.member.domain.Member; import com.dnd.gongmuin.member.repository.MemberRepository; @@ -80,7 +81,11 @@ void registerQuestionPost() { given(questionPostRepository.save(any(QuestionPost.class))).willReturn(questionPost); given(memberRepository.save(any(Member.class))).willReturn(member); - doNothing().when(creditHistoryService).saveQuestionPostCreditHistory(anyInt(), any(Member.class)); + doNothing().when(creditHistoryService).saveCreditHistory( + CreditType.WRITE_QUESTION_POST, + questionPost.getReward(), + member + ); //when RegisterQuestionPostResponse response = questionPostService.registerQuestionPost(request, member); From ef6b975e33dc58d72204b6442ac8d7da5611e08e Mon Sep 17 00:00:00 2001 From: hs12 Date: Thu, 26 Dec 2024 22:22:08 +0900 Subject: [PATCH 5/5] =?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 --- src/main/java/com/dnd/gongmuin/common/config/SwaggerConfig.java | 1 - .../credit_history/service/CreditHistoryServiceTest.java | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/com/dnd/gongmuin/common/config/SwaggerConfig.java b/src/main/java/com/dnd/gongmuin/common/config/SwaggerConfig.java index 796b793a..5c5598ad 100644 --- a/src/main/java/com/dnd/gongmuin/common/config/SwaggerConfig.java +++ b/src/main/java/com/dnd/gongmuin/common/config/SwaggerConfig.java @@ -6,7 +6,6 @@ import io.swagger.v3.oas.annotations.OpenAPIDefinition; import io.swagger.v3.oas.annotations.info.Info; -import io.swagger.v3.oas.annotations.servers.Server; @OpenAPIDefinition( info = @Info( diff --git a/src/test/java/com/dnd/gongmuin/credit_history/service/CreditHistoryServiceTest.java b/src/test/java/com/dnd/gongmuin/credit_history/service/CreditHistoryServiceTest.java index f1302d18..0a4c46ee 100644 --- a/src/test/java/com/dnd/gongmuin/credit_history/service/CreditHistoryServiceTest.java +++ b/src/test/java/com/dnd/gongmuin/credit_history/service/CreditHistoryServiceTest.java @@ -35,7 +35,7 @@ class CreditHistoryServiceTest { @DisplayName("회원 아이디 리스트에 속하는 회원에 대한 크레딧을 모두 저장할 수 있다.") @Test - void test() { + void saveCreditHistoryInMemberIds() { //given List memberIds = List.of(1L, 2L); Member member1 = MemberFixture.member(memberIds.get(0));