From 2edbf1c7c9aedaddd121aa491b274cdf8135a201 Mon Sep 17 00:00:00 2001 From: KTH1007 Date: Tue, 23 Dec 2025 23:27:09 +0900 Subject: [PATCH] =?UTF-8?q?feat/#190:=20=EB=8C=80=EC=8B=9C=EB=B3=B4?= =?UTF-8?q?=EB=93=9C=EC=97=90=EC=84=9C=20=ED=95=B4=EB=8B=B9=20=EA=B2=8C?= =?UTF-8?q?=EC=8B=9C=EA=B8=80=20=EB=AA=A8=EC=A7=91=20=EC=83=81=ED=83=9C=20?= =?UTF-8?q?=EC=A1=B0=ED=9A=8C=20API=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DashboardController.java | 8 ++++++++ .../controller/doc/DashboardControllerDoc.java | 16 +++++++++++++++- .../app/dashboard/service/DashboardService.java | 7 +++++++ 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/example/nexus/app/dashboard/controller/DashboardController.java b/src/main/java/com/example/nexus/app/dashboard/controller/DashboardController.java index 73f0b343..cd4a8b44 100644 --- a/src/main/java/com/example/nexus/app/dashboard/controller/DashboardController.java +++ b/src/main/java/com/example/nexus/app/dashboard/controller/DashboardController.java @@ -69,6 +69,14 @@ public ResponseEntity> toggleRecruitmentStatus( return ResponseEntity.ok(ApiResponse.onSuccess(response)); } + @Override + @GetMapping("/{postId}/recruitment-status") + public ResponseEntity> getRecruitmentStatus( + @PathVariable Long postId) { + PostStatusResponse response = dashboardService.getRecruitmentStatus(postId); + return ResponseEntity.ok(ApiResponse.onSuccess(response)); + } + @Override @GetMapping("/{postId}/analytics/bar-chart") public ResponseEntity> getBarChartData( diff --git a/src/main/java/com/example/nexus/app/dashboard/controller/doc/DashboardControllerDoc.java b/src/main/java/com/example/nexus/app/dashboard/controller/doc/DashboardControllerDoc.java index cd93a03e..6d7141c4 100644 --- a/src/main/java/com/example/nexus/app/dashboard/controller/doc/DashboardControllerDoc.java +++ b/src/main/java/com/example/nexus/app/dashboard/controller/doc/DashboardControllerDoc.java @@ -54,11 +54,25 @@ ResponseEntity>> getRecentReviews( Pageable pageable ); + @Operation( + summary = "모집 상태 조회", + description = """ + 현재 게시글의 모집 상태 조회 + + **PostStatus (게시글 상태):** + - `ACTIVE`: 활성 (모집중) + - `COMPLETED`: 완료 (모집 완료) + """ + ) + ResponseEntity> getRecruitmentStatus( + @PathVariable @Schema(description = "게시글 ID") Long postId + ); + @Operation( summary = "모집 상태 변경", description = """ 모집중 <-> 모집 완료 상태 토글 - + **PostStatus (게시글 상태):** - `ACTIVE`: 활성 (모집중) - `COMPLETED`: 완료 (모집 완료) diff --git a/src/main/java/com/example/nexus/app/dashboard/service/DashboardService.java b/src/main/java/com/example/nexus/app/dashboard/service/DashboardService.java index 197c7d47..e124f32a 100644 --- a/src/main/java/com/example/nexus/app/dashboard/service/DashboardService.java +++ b/src/main/java/com/example/nexus/app/dashboard/service/DashboardService.java @@ -152,6 +152,13 @@ public PostStatusResponse toggleRecruitmentStatus(Long postId, Long userId) { return PostStatusResponse.of(postId, newStatus); } + public PostStatusResponse getRecruitmentStatus(Long postId) { + Post post = getPost(postId); + PostStatus postStatus = post.getStatus(); + + return PostStatusResponse.of(postId, postStatus); + } + // 분석 그래프 public BarChartResponse getBarChartData(Long userId, Long postId) { validatePostOwnership(userId, postId);