File tree Expand file tree Collapse file tree 3 files changed +40
-1
lines changed
src/main/java/com/back/matchduo/domain/party Expand file tree Collapse file tree 3 files changed +40
-1
lines changed Original file line number Diff line number Diff line change 22
33public enum PartyStatus {
44 ACTIVE , // 모집완료 시
5- CLOSED // 모집중 , 게임완료일 시
5+ CLOSED // 모집중 , 게임완료(수동, 6시간 자동 포함)
66}
Original file line number Diff line number Diff line change 1+ package com .back .matchduo .domain .party .repository ;
2+
3+ import com .back .matchduo .domain .party .entity .PartyMember ;
4+ import org .springframework .data .jpa .repository .JpaRepository ;
5+
6+ import java .util .List ;
7+ import java .util .Optional ;
8+
9+ public interface PartyMemberRepository extends JpaRepository <PartyMember , Long > {
10+
11+ // 1. 특정 파티의 멤버 목록 조회 (가입된 상태만 가져오거나, 전체 다 가져오거나)
12+ // 용도: GET /api/v1/parties/{partyId}/members (파티원 목록 보여주기)
13+ List <PartyMember > findByPartyId (Long partyId );
14+
15+ // 2. 내가 참여한 파티 목록 조회
16+ // 용도: GET /api/v1/users/me/parties (내 파티 목록)
17+ List <PartyMember > findByUserId (Long userId );
18+
19+ // 3. 이미 참여했는지 확인 (중복 참여 방지)
20+ // 용도: 파티 참여 신청 시 검증 로직 (Validation)
21+ boolean existsByPartyIdAndUserId (Long partyId , Long userId );
22+
23+ // 4. 특정 파티에서 내 멤버 정보 찾기
24+ // 용도: 탈퇴하거나 강퇴할 때 내 멤버 ID를 찾기 위해 사용
25+ Optional <PartyMember > findByPartyIdAndUserId (Long partyId , Long userId );
26+ }
Original file line number Diff line number Diff line change 11package com .back .matchduo .domain .party .repository ;
22
33import com .back .matchduo .domain .party .entity .Party ;
4+ import com .back .matchduo .domain .party .entity .PartyStatus ;
45import org .springframework .data .jpa .repository .JpaRepository ;
56
7+ import java .time .LocalDateTime ;
8+ import java .util .List ;
9+ import java .util .Optional ;
10+
611public interface PartyRepository extends JpaRepository <Party , Long > {
12+
13+ // 1. 모집글 ID로 파티 조회
14+ // 용도: GET /api/v1/posts/{postId}/party (모집글 눌렀을 때 파티 정보 띄우기)
15+ Optional <Party > findByPostId (Long postId );
16+
17+ // 2. 만료 시간이 지났고, 상태가 ACTIVE인 파티 조회
18+ // 용도: 스케줄러가 6시간 지난 파티를 찾아서 자동으로 닫을 때 사용
19+ List <Party > findByStatusAndExpiresAtBefore (PartyStatus status , LocalDateTime now );
720}
You can’t perform that action at this time.
0 commit comments