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

feature : owner 웨이팅 조회 API 구현 #75

Merged
merged 21 commits into from
Jan 8, 2024

Conversation

hyun2371
Copy link
Member

@hyun2371 hyun2371 commented Jan 8, 2024

⛏ 작업 상세 내용

  • WaitingLineRepository에 기능 추가
    • redis queue의 waitingId list를 rank순으로 정렬해서 반환
  • owner의 모든 웨이팅 조회 API 구현
    • 해당 API용 DTO 및 매핑 함수 추가
  • API 단위 테스트, 통합 테스트 작성
  • Repository 테스트 추가 및 기존 테스트 리팩토링
  • MemberWaitingServiceTest 검증 누락 부분 추가

📝 작업 요약

  • owner 웨이팅 조회 API 구현
  • owner 웨이팅 조회 API 테스트 작성

☑️ 중점적으로 리뷰 할 부분

  • WaitingRepository 추가된 함수
  • OwnerWaitingService 비즈니스 로직
  • 웨이팅 없을 시 shopWaitings 응답으로 빈 리스트 반환하는데 괜찮을지

@hyun2371 hyun2371 self-assigned this Jan 8, 2024
@hyun2371 hyun2371 linked an issue Jan 8, 2024 that may be closed by this pull request
2 tasks
@hyun2371 hyun2371 changed the base branch from main to dev January 8, 2024 04:50
Copy link

github-actions bot commented Jan 8, 2024

Test Results

84 tests  +5   84 ✅ +5   22s ⏱️ -1s
24 suites +2    0 💤 ±0 
24 files   +2    0 ❌ ±0 

Results for commit 0939180. ± Comparison against base commit 6fa48fc.

♻️ This comment has been updated with latest results.

Copy link
Collaborator

@kkangh00n kkangh00n left a comment

Choose a reason for hiding this comment

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

고생하셨습니다~! 가게 입장에서 웨이팅이 없을 시, 그냥 빈 리스트를 보이는게 더 좋을 것 같습니다 :-)

Owner owner = ownerRepository.findById(ownerId)
.orElseThrow(() -> new BadRequestCustomException(NOT_EXIST_OWNER));
List<Long> waitingIds = waitingLineRepository.getShopWaitingIdsInOrder(
owner.getShop().getId());
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.

owner.getShop().getId() 부분 말씀하시는건가요? 현재 임시로만 ownerId를 받는거라서 fetch join은 구현하지 않았습니다!

Copy link
Member

@dlswns2480 dlswns2480 left a comment

Choose a reason for hiding this comment

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

고생하셨습니다~! 궁금한거 남겼습니다😃

Comment on lines 51 to 54
List<Long> longList = new ArrayList<>(stringList.stream()
.map(Long::parseLong)
.toList());
Collections.reverse(longList);
Copy link
Member

@dlswns2480 dlswns2480 Jan 8, 2024

Choose a reason for hiding this comment

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

pr에 rank순으로 정렬해서 가져온다했는데 그게 이 부분인가요?? 정렬은 안 보이고 reverse()만 보여서요.. 몰라서 질문드립니다!

Copy link
Member Author

Choose a reason for hiding this comment

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

넵! 리스트에 데이터 삽입 시 왼쪽으로 계속 삽입되기 때문에 rank가 큰 순으로 waitingId가 정렬되어 있습니다.
이를 reverse()로 rank가 작은 순으로 정렬해 반환하는 로직입니다. ex: [3L, 2L, 1L] -> [1L, 2L, 3L]

@hyun2371 hyun2371 merged commit b398382 into dev Jan 8, 2024
3 checks passed
@hyun2371 hyun2371 deleted the feat/#74/owner-get-all-waiting-api branch January 8, 2024 14:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

feature : owner 웨이팅 조회 API 구현
3 participants