Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feat #23] : 답변 채택 API #24

Merged
merged 33 commits into from
Aug 9, 2024
Merged

[feat #23] : 답변 채택 API #24

merged 33 commits into from
Aug 9, 2024

Conversation

hyun2371
Copy link
Member

@hyun2371 hyun2371 commented Aug 7, 2024

관련 이슈

📑 작업 상세 내용

  • 답변 채택 API
    • 검증 내용: 질문자가 맞는지, 채택한 질문이 아닌지, 답변이 존재하는지
    • 업데이트 필드: 질문글과 답변의 isChosen, 답변자와 질문자 credit
  • 답변 채택 API 단위테스트, 통합 테스트

💫 작업 요약

  • 답변 채택 API
  • 답변 채택 API 테스트

🔍 중점적으로 리뷰 할 부분

  • 검증 로직 일부를 엔티티에 넣었습니다.
  • 단위 테스트에서 예외 케이스도 같이 검증하고, 통합 테스트에서는 정상 케이스만 검증했습니다.

@hyun2371 hyun2371 added the ✨ feat 기능 추가 label Aug 7, 2024
@hyun2371 hyun2371 requested a review from dudxo August 7, 2024 12:31
@hyun2371 hyun2371 self-assigned this Aug 7, 2024
@hyun2371 hyun2371 linked an issue Aug 7, 2024 that may be closed by this pull request
2 tasks
Copy link

github-actions bot commented Aug 7, 2024

Test Results

34 tests   20 ✅  4s ⏱️
12 suites  14 💤
12 files     0 ❌

Results for commit 35a7f7b.

♻️ This comment has been updated with latest results.

Copy link
Collaborator

@dudxo dudxo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

질문 글 작성 ~ 채택의 비즈니스 flow가 질문 글에 리워드'만' 설정하고 이후 채택 시, 작성자 지갑(계정)에서 리워드를 빼는 flow로 확인했습니다. AnswerServiceTest.chooseAnswer_fail()를 보면 답변 채택 시 크레딧이 부족하면 채택을 할 수 없는 테스트를 보면 제가 이애한 flow가 맞다고 생각됩니다.

이야기를 꺼낸 이유는 질문글 작성 시 글 또는 관리자 계좌에 설정한 리워드만금 송금시키고, 채택 시 작성자 계좌가 아닌 글 또는 관리자 계좌에서 꺼내가도록 하면 좋지 않을까 해서 이야기합니다.
다만, 기간이 얼마 안남아서 이는 추후 변경사안으로 진행해도 좋을것 같습니다!

고생많으셨습니다!!

@hyun2371
Copy link
Member Author

hyun2371 commented Aug 9, 2024

이야기를 꺼낸 이유는 질문글 작성 시 글 또는 관리자 계좌에 설정한 리워드만금 송금시키고, 채택 시 작성자 계좌가 아닌 글 또는 관리자 계좌에서 꺼내가도록 하면 좋지 않을까 해서 이야기합니다.

기획 때 해당 얘기를 논의한 건 기억이 나는데, 설계에서는 관리자를 고려하지 않은 것 같아요! 말씀대로 MVP 기간 끝나고 생각해봐야 할 것 같습니다..!

@dudxo
Copy link
Collaborator

dudxo commented Aug 9, 2024

이야기를 꺼낸 이유는 질문글 작성 시 글 또는 관리자 계좌에 설정한 리워드만금 송금시키고, 채택 시 작성자 계좌가 아닌 글 또는 관리자 계좌에서 꺼내가도록 하면 좋지 않을까 해서 이야기합니다.

기획 때 해당 얘기를 논의한 건 기억이 나는데, 설계에서는 관리자를 고려하지 않은 것 같아요! 말씀대로 MVP 기간 끝나고 생각해봐야 할 것 같습니다..!

넵 좋습니다!

@hyun2371 hyun2371 requested a review from dudxo August 9, 2024 08:26
@hyun2371
Copy link
Member Author

hyun2371 commented Aug 9, 2024

변경 사항

  • 엔티티명 변경(credit -> creditHistory)
  • CreditDetail enum 삭제
    • 해당 enum 클래스를 없애고, CreditType 필드로 저장했습니다. CreditType이 CreditDetail을 결정 짓는 것 같아서요.
    • 엔티티 생성 시 CreditType 필드를 받아와 엔티티 String 필드에 채워넣습니다.
    • 이렇게 하면 응집력도 있고, DB에도 저장할 수 있을 것 같아요.
  • 답변 채택 로직 수정
    • 크레딧 내역 저장 로직 추가
    • 한 메서드 내 크레딧 증감, isChosen필드 변경 로직 분리

중점 사항

  • 외래키 제약 조건으로 인해 creditRepository를 memberRepository보다 먼저 비워줘야 하네요
  • 답변 채택에 따른 상태 변경 메서드 로직과 네이밍이 적절한지 확인부탁드려요

Copy link
Collaborator

@dudxo dudxo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

중간 credit 부분 수정으로 인해 많은 변경사항이 생겼는데 고생 많으셨습니다!

@hyun2371 hyun2371 merged commit 0b2758e into dev Aug 9, 2024
3 checks passed
@hyun2371 hyun2371 deleted the feat/#23/choose-answer-api branch August 9, 2024 12:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨ feat 기능 추가
Projects
None yet
Development

Successfully merging this pull request may close these issues.

✨답변 채택 API
2 participants