From 139d02d731e490d045fabca5d1b5e593c354aebf Mon Sep 17 00:00:00 2001 From: starday119 Date: Fri, 5 Sep 2025 22:27:28 +0900 Subject: [PATCH] =?UTF-8?q?[Chore][jjaeroong]:=20=EC=8A=A4=EC=9B=A8?= =?UTF-8?q?=EA=B1=B0=20PLANNING=EC=97=90=EC=84=9C=20PLAN=EC=9C=BC=EB=A1=9C?= =?UTF-8?q?=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../stackpot/stackpot/pot/controller/PotController.java | 2 +- .../stackpot/pot/dto/PotRecruitmentRequestDto.java | 3 +++ .../service/potMember/PotMemberCommandServiceImpl.java | 8 +++++--- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/main/java/stackpot/stackpot/pot/controller/PotController.java b/src/main/java/stackpot/stackpot/pot/controller/PotController.java index 33fe6228..a2c155e0 100644 --- a/src/main/java/stackpot/stackpot/pot/controller/PotController.java +++ b/src/main/java/stackpot/stackpot/pot/controller/PotController.java @@ -38,7 +38,7 @@ public class PotController { - potStatus: RECRUITING / ONGOING / COMPLETED - potStartDate, potEndDate: yyyy.MM 형식 (예: 2025.08) - potModeOfOperation: ONLINE / OFFLINE / HYBRID - - Role: FRONTEND / BACKEND / DESIGN / PLANNING + - Role: FRONTEND / BACKEND / DESIGN / PLAN """) @PostMapping public ResponseEntity> createPot(@RequestBody @Valid PotRequestDto requestDto) { diff --git a/src/main/java/stackpot/stackpot/pot/dto/PotRecruitmentRequestDto.java b/src/main/java/stackpot/stackpot/pot/dto/PotRecruitmentRequestDto.java index 7930e60c..a59be6c6 100644 --- a/src/main/java/stackpot/stackpot/pot/dto/PotRecruitmentRequestDto.java +++ b/src/main/java/stackpot/stackpot/pot/dto/PotRecruitmentRequestDto.java @@ -1,5 +1,6 @@ package stackpot.stackpot.pot.dto; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Builder; import lombok.Getter; import lombok.Setter; @@ -10,6 +11,8 @@ @Builder public class PotRecruitmentRequestDto { @ValidRole + @Schema(description = "모집 역할", example = "BACKEND") private String recruitmentRole; + @Schema(description = "역할 별 모집 인원 수", example = "1") private Integer recruitmentCount; } diff --git a/src/main/java/stackpot/stackpot/pot/service/potMember/PotMemberCommandServiceImpl.java b/src/main/java/stackpot/stackpot/pot/service/potMember/PotMemberCommandServiceImpl.java index a1d57da4..ae8e19e6 100644 --- a/src/main/java/stackpot/stackpot/pot/service/potMember/PotMemberCommandServiceImpl.java +++ b/src/main/java/stackpot/stackpot/pot/service/potMember/PotMemberCommandServiceImpl.java @@ -78,8 +78,10 @@ public List addMembersToPot(Long potId, PotMemberReq } // 생성자 PotMember는 이미 createPot 단계에서 저장됨 → 새로 만들지 말고 조회 - PotMember creatorPM = potMemberRepository - .findByPotIdAndUserId(potId, potCreator.getId()); + PotMember creatorPM = potMemberRepository.findByPotIdAndUserId(potId, potCreator.getId()); + if (creatorPM == null) { + throw new PotHandler(ErrorStatus.POT_MEMBER_NOT_FOUND); + } // 승인된 멤버들만 저장 List savedMembers = potMemberRepository.saveAll(newMembers); @@ -113,7 +115,7 @@ public void updateAppealContent(Long potId, String appealContent) { } @Override - @org.springframework.transaction.annotation.Transactional + @Transactional public void removeMemberFromPot(Long potId) { User user = authService.getCurrentUser(); Pot pot = potRepository.findById(potId)