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 #134] 채팅 요청 자동 거절 스케줄러 #135

Merged
merged 17 commits into from
Oct 20, 2024

Conversation

hyun2371
Copy link
Member

@hyun2371 hyun2371 commented Oct 17, 2024

관련 이슈

📑 작업 상세 내용

  • 채팅 상태 변경
    • 일주일 이상 요청중인 채팅
    • 채팅 상태 요청중 > 거절됨
  • 일주일 이상 요청 중인 채팅방에 속하는 요청자 아이디 모두 조회
    • 아래 나오는 함수들 파라미터로 사용
  • 회원 크레딧 환급
    • 특정 아이디 회원들 크레딧 증가
  • 회원 크레딧 내역 추가
    • 특정 크레딧 회원들 크레딧 내역 저장

💫 작업 요약

  • 채팅방 자동거절 상태로 바뀜에 따라 채팅방,회원 업데이트 및 크레딧 내역 저장

🔍 중점적으로 리뷰 할 부분

  • chatRoomRepositoryImpl
  • chatScheduler
  • 회원 크레딧 환급 함수 및 회원 크레딧 내역 추가 함수 memberRepository로 이동할지
  • 업데이트는 bulk update인데 삽입은 bulk insert 아니라 saveAll로 사용

@hyun2371 hyun2371 linked an issue Oct 17, 2024 that may be closed by this pull request
1 task
Copy link

github-actions bot commented Oct 17, 2024

Code Coverage

Overall Project 86.19% -1.42% 🍏
Files changed 69.19% 🍏

File Coverage
CreditHistoryService.java 100% 🍏
MemberCustomImpl.java 98.88% 🍏
ChatRoomService.java 93.31% 🍏
ChatRoomQueryRepositoryImpl.java 80.63% -16.23%
CreditHistory.java 67.74% -32.26%
ChatScheduler.java 0%

Copy link

github-actions bot commented Oct 17, 2024

Test Results

 25 files   25 suites   16s ⏱️
123 tests 123 ✅ 0 💤 0 ❌
124 runs  124 ✅ 0 💤 0 ❌

Results for commit 1320537.

♻️ This comment has been updated with latest results.

@hyun2371 hyun2371 requested a review from dudxo October 17, 2024 14:35
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.

고생하셨습니다!
채팅 거절 시 반환(환급)되는 크레딧 내역도 있어야 되지 않을까 싶었는데, 먼저 잘 구현해주셨네요!

회원 크레딧 환급 함수 및 회원 크레딧 내역 추가 함수 memberRepository로 이동할지
음.. 저의 생각은 이동한다면 creditHistoryRepository가 더 알맞지 않나 싶은 생각이 있네요..!

.where(member.id.in(memberIds))
.execute();
}

Copy link
Collaborator

Choose a reason for hiding this comment

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

updateChatRoomStatusRejected(), refundInMemberIds()을 호출하는 상위 메서드 ChatScheduler.rejectChatRequest()에 트랜잭션이 생성되어 있는데 한번 더 붙이셨네요?

중복인것 같습니다!

Copy link
Collaborator

Choose a reason for hiding this comment

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

제가 잘못 이해(?)한 내용일 수 있는데 틀리다면 말씀 부탁드립니다..!

Copy link
Member Author

Choose a reason for hiding this comment

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

bulk update를 하는 repository 함수라서 transactional을 걸고,
scheduler에서 하나라도 잘못 되면 rollback하기 위해 transactional을 걸었습니다..!
scheduler 메서드에 해당 어노테이션을 거는게 맞는지 더 고민해봐야겠네요,,,

.select(chatRoom.inquirer.id)
.from(chatRoom)
.where(
chatRoom.createdAt.loe(LocalDateTime.now().minusWeeks(1)),
Copy link
Collaborator

Choose a reason for hiding this comment

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

loe 문법을 잘 몰라서 찾아보니 less than or equal 약어군요?
하나 배워갑니다..!

@hyun2371 hyun2371 self-assigned this Oct 20, 2024
@hyun2371 hyun2371 added the ✨ feat 기능 추가 label Oct 20, 2024
@hyun2371 hyun2371 merged commit 1103958 into dev Oct 20, 2024
3 checks passed
@hyun2371 hyun2371 deleted the feat/#134/chat-request-auto-reject branch October 20, 2024 05:43
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.

✨ 채팅 요청 자동 거절 스케줄러
2 participants