createdAtBetween()으로 start <= post.startTime <= end 조건을 확인합니다.
양방향을 사용하지 않고 자바 코드로 구현하려고 하다보니 <post.id, List> 형태의 map을 넘겨주게 되었습니다.
참여 기록마다 여러 개의 스코어가 존재하기 때문에 getScoreMap()은 각 post.id와 참여 기록 조회 대상 userId로 score list를 가져와서 <post.id, score list>로 map을 반환합니다.
getMemberMap()는 참여 기록마다 신청자 목록의 유저들을 가져옵니다. 멤버에서 참여 기록 조회 대상 userId는 제외해야 하므로 해당 로직을 추가했습니다.
getRateMap()는 참여 기록마다 신청자 목록을 가져와서 applicant id로 userRate에서 평가 목록을 가져옵니다. <post, 각 모집글에 포함된 신청자들이 평가한 리스트>를 map으로 반환합니다. response의 MemberDto에서 평가 리스트 중 평가 대상 id가 현재 member.id와 동일한 아이템이 있다면 true를 반환합니다.
getApplicantIdMap()은 참여 기록마다 신청자 목록을 가져와서 post.user.Id-applicant.Id를 담아 반환합니다.
| 수정된 사항
멘토님 피드백 반영하였습니다.
기간별 검색(start, end 값)은 yyyy-mm-dd형태의 string으로 qeury로 받습니다.
타 참여자에게 별점 평가 api를 위해 response로 자신의 신청ID를 포함하여 주도록 하였습니다.
볼링 점수(score) 등록 API 개선
점수 이미지 등록을 기존 다중 업로드 방식에서 단일 업로드 방식으로 수정하였습니다.
점수 이미지를 필수가 아니게 변경하였습니다.
쪽지 API 개선
| DTO 수정
대화방 목록에서 새로운 쪽지의 수를 알려줍니다.
각 상대방별 isNew -> countNew 로 변경
불필요한 countAll과 countNew 정보를 삭제하였습니다.
새로운 쪽지의 수를 사용하여 새로운 쪽지 수 + 10 만큼 쪽지 조회 api를 호출하게 됩니다.
Summary
안녕하세요! 손민철 멘토님 부산대 3조 번개볼링 BE입니다. 6주차 코드리뷰 잘 부탁드립니다~ 😄
6주차 작업 내역입니다.
Description
6주차 작업 내역 상세입니다.
프로필, 유저 레코드, 참여기록, 신청 관련 API 구현
| 프로필 수정
| 유저 기록 조회
| 참여기록 조회 API
| 수정된 사항
볼링 점수(score) 등록 API 개선
쪽지 API 개선
| DTO 수정
| 레포지토리 메소드 추가
| 삭제된 레포지토리 메소드의 테스트 코드 삭제
| 일대일대화방의 메소드 명을 변경
별점 등록 API 구현
| request 형태
test@test.com으로 로그인 후 /api/posts/16/applicants/31/rating 으로 테스트 가능합니다.
| 유효성 체크
| requestBody 유효성
+) 추가적으로 더미데이터를 추가하였습니다. 기본은 #41의 테스트 데이터에 db 구조에 맞게 일부 수정을 가한 형태입니다.
Related Issue
연관된 이슈는 다음과 같습니다.
27 : 프로필, 유저 기록, 참여 기록 API 구현
36 : 사용자 신청 여부 확인 api 생성
46 : 유저 기록 조회 api에 조회하고자 하는 유저의 이름 추가하기
52 : 신청 상태 조회 api에 신청 id 추가하기
43 : 점수 등록에서 이미지 없이 점수 등록만 가능하도록 변경
44 : 대화방(쪽지) 목록 조회와 일대일 대화방 쪽지 조회 api의 동작 방식 토의
50 : 대화방(쪽지) 목록 조회 수정
질문사항
6주차 질문사항입니다! 🤔
jpa specification 쪽 실행할 때 fetch 부분에서 warning이 나오고 있습니다..! 다음과 같은 warning이 발생하는데, 코드 상에서 개선해야 할 부분이 있을까요?