22
33import static inha .gdgoc .domain .recruit .controller .message .RecruitMemberMessage .MEMBER_RETRIEVED_SUCCESS ;
44import static inha .gdgoc .domain .recruit .controller .message .RecruitMemberMessage .MEMBER_SAVE_SUCCESS ;
5+ import static inha .gdgoc .domain .recruit .controller .message .RecruitMemberMessage .PAYMENT_MARKED_COMPLETE_SUCCESS ;
6+ import static inha .gdgoc .domain .recruit .controller .message .RecruitMemberMessage .PAYMENT_MARKED_INCOMPLETE_SUCCESS ;
57import static inha .gdgoc .domain .recruit .controller .message .RecruitMemberMessage .PHONE_NUMBER_DUPLICATION_CHECK_SUCCESS ;
68import static inha .gdgoc .domain .recruit .controller .message .RecruitMemberMessage .STUDENT_ID_DUPLICATION_CHECK_SUCCESS ;
79
810import inha .gdgoc .domain .recruit .dto .request .ApplicationRequest ;
11+ import inha .gdgoc .domain .recruit .dto .request .PaymentUpdateRequest ;
912import inha .gdgoc .domain .recruit .dto .response .CheckPhoneNumberResponse ;
1013import inha .gdgoc .domain .recruit .dto .response .CheckStudentIdResponse ;
1114import inha .gdgoc .domain .recruit .dto .response .SpecifiedMemberResponse ;
1215import inha .gdgoc .domain .recruit .service .RecruitMemberService ;
1316import inha .gdgoc .global .dto .response .ApiResponse ;
1417import io .swagger .v3 .oas .annotations .Operation ;
1518import io .swagger .v3 .oas .annotations .security .SecurityRequirement ;
19+ import io .swagger .v3 .oas .annotations .tags .Tag ;
1620import jakarta .validation .constraints .NotBlank ;
1721import jakarta .validation .constraints .Pattern ;
1822import lombok .RequiredArgsConstructor ;
1923import org .springframework .http .ResponseEntity ;
2024import org .springframework .security .access .prepost .PreAuthorize ;
2125import org .springframework .web .bind .annotation .GetMapping ;
26+ import org .springframework .web .bind .annotation .PatchMapping ;
2227import org .springframework .web .bind .annotation .PathVariable ;
2328import org .springframework .web .bind .annotation .PostMapping ;
2429import org .springframework .web .bind .annotation .RequestBody ;
2530import org .springframework .web .bind .annotation .RequestMapping ;
2631import org .springframework .web .bind .annotation .RequestParam ;
2732import org .springframework .web .bind .annotation .RestController ;
2833
34+ @ Tag (name = "Recruit - Members" , description = "리크루팅 지원자 관리 API" )
2935@ RequestMapping ("/api/v1" )
3036@ RequiredArgsConstructor
3137@ RestController
@@ -67,7 +73,7 @@ public ResponseEntity<ApiResponse<CheckPhoneNumberResponse, Void>> duplicatedPho
6773 return ResponseEntity .ok (ApiResponse .ok (PHONE_NUMBER_DUPLICATION_CHECK_SUCCESS , response ));
6874 }
6975
70- @ Operation (summary = "특정 멤버 가입 신청서 조회" , security = { @ SecurityRequirement (name = "BearerAuth" ) })
76+ @ Operation (summary = "특정 멤버 가입 신청서 조회" , security = {@ SecurityRequirement (name = "BearerAuth" )})
7177 @ PreAuthorize ("hasRole('ADMIN')" )
7278 @ GetMapping ("/recruit/members/{memberId}" )
7379 public ResponseEntity <ApiResponse <SpecifiedMemberResponse , Void >> getSpecifiedMember (
@@ -80,7 +86,27 @@ public ResponseEntity<ApiResponse<SpecifiedMemberResponse, Void>> getSpecifiedMe
8086
8187 // TODO 전체 응답 조회 및 검색
8288
83- // TODO 입금 완료
8489
85- // TODO 입금 미완료
90+ @ Operation (
91+ summary = "입금 상태 변경" ,
92+ description = "설정하려는 상태(NOT 현재 상태)를 body에 보내주세요. true=입금 완료, false=입금 미완료" ,
93+ security = { @ SecurityRequirement (name = "BearerAuth" ) }
94+ )
95+ @ PreAuthorize ("hasRole('ADMIN')" )
96+ @ PatchMapping ("/recruit/members/{memberId}/payment" )
97+ public ResponseEntity <ApiResponse <Void , Void >> updatePayment (
98+ @ PathVariable Long memberId ,
99+ @ RequestBody PaymentUpdateRequest paymentUpdateRequest
100+ ) {
101+ recruitMemberService .updatePayment (memberId , paymentUpdateRequest .isPayed ());
102+
103+ return ResponseEntity .ok (
104+ ApiResponse .ok (
105+ paymentUpdateRequest .isPayed ()
106+ ? PAYMENT_MARKED_COMPLETE_SUCCESS
107+ : PAYMENT_MARKED_INCOMPLETE_SUCCESS
108+ )
109+ );
110+ }
111+
86112}
0 commit comments