diff --git a/src/main/java/com/moplus/moplus_server/client/submit/controller/ClientSubmitController.java b/src/main/java/com/moplus/moplus_server/client/submit/controller/ClientSubmitController.java index 25c495c..21153cc 100644 --- a/src/main/java/com/moplus/moplus_server/client/submit/controller/ClientSubmitController.java +++ b/src/main/java/com/moplus/moplus_server/client/submit/controller/ClientSubmitController.java @@ -8,6 +8,8 @@ import com.moplus.moplus_server.client.submit.dto.request.ProblemSubmitCreateRequest; import com.moplus.moplus_server.client.submit.dto.request.ProblemSubmitUpdateRequest; import com.moplus.moplus_server.client.submit.service.ClientSubmitService; +import com.moplus.moplus_server.global.annotation.AuthUser; +import com.moplus.moplus_server.member.domain.Member; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; @@ -29,43 +31,48 @@ public class ClientSubmitController { @PostMapping("problemSubmit") @Operation(summary = "문항 제출 생성", description = "문항 제출을 '진행중'으로 생성합니다.") public ResponseEntity createProblemSubmit( - @RequestBody ProblemSubmitCreateRequest request + @RequestBody ProblemSubmitCreateRequest request, + @AuthUser Member member ) { - clientSubmitService.createProblemSubmit(request); + clientSubmitService.createProblemSubmit(member.getId(), request); return ResponseEntity.ok(null); } @PutMapping("problemSubmit") @Operation(summary = "문항 제출 업데이트", description = "제출한 답안을 바탕으로 문항 제출의 상태를 업데이트합니다.") public ResponseEntity updateProblemSubmit( - @RequestBody ProblemSubmitUpdateRequest request + @RequestBody ProblemSubmitUpdateRequest request, + @AuthUser Member member ) { - return ResponseEntity.ok(clientSubmitService.updateProblemSubmit(request)); + return ResponseEntity.ok(clientSubmitService.updateProblemSubmit(member.getId(), request)); } @PostMapping("childProblemSubmit") @Operation(summary = "새끼문항 제출 생성", description = "문항에 속한 새끼문항들을 '시작전'으로 생성합니다.") public ResponseEntity createProblemSubmit( - @RequestBody ChildProblemSubmitCreateRequest request + @RequestBody ChildProblemSubmitCreateRequest request, + @AuthUser Member member ) { - clientSubmitService.createChildProblemSubmit(request); + clientSubmitService.createChildProblemSubmit(member.getId(), request); return ResponseEntity.ok(null); } @PutMapping("childProblemSubmit") @Operation(summary = "새끼문항 제출 업데이트", description = "제출한 답안을 바탕으로 문항 제출의 상태를 업데이트합니다.") public ResponseEntity updateChildProblemSubmit( - @RequestBody ChildProblemSubmitUpdateRequest request + @RequestBody ChildProblemSubmitUpdateRequest request, + @AuthUser Member member ) { - return ResponseEntity.ok(clientSubmitService.updateChildProblemSubmit(request)); + return ResponseEntity.ok(clientSubmitService.updateChildProblemSubmit(member.getId(), request)); } @PutMapping("childProblemSubmit/incorrect") @Operation(summary = "새끼문항 제출 틀림 업데이트", description = "새끼문항 제출의 상태를 틀림으로 업데이트합니다.") public ResponseEntity updateChildProblemSubmitIncorrect( - @RequestBody ChildProblemSubmitUpdateIncorrectRequest request + @RequestBody ChildProblemSubmitUpdateIncorrectRequest request, + @AuthUser Member member ) { - clientSubmitService.updateChildProblemSubmitIncorrect(request); + clientSubmitService.updateChildProblemSubmitIncorrect(member.getId(), request); return ResponseEntity.ok(null); } } diff --git a/src/main/java/com/moplus/moplus_server/client/submit/controller/CommentaryGetController.java b/src/main/java/com/moplus/moplus_server/client/submit/controller/CommentaryGetController.java index b46ad78..025566c 100644 --- a/src/main/java/com/moplus/moplus_server/client/submit/controller/CommentaryGetController.java +++ b/src/main/java/com/moplus/moplus_server/client/submit/controller/CommentaryGetController.java @@ -2,6 +2,8 @@ import com.moplus.moplus_server.client.submit.dto.response.CommentaryGetResponse; import com.moplus.moplus_server.client.submit.service.CommentaryGetService; +import com.moplus.moplus_server.global.annotation.AuthUser; +import com.moplus.moplus_server.member.domain.Member; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; @@ -23,8 +25,9 @@ public class CommentaryGetController { @Operation(summary = "해설 조회", description = "문항 별 해설/처방을 조회합니다.") public ResponseEntity getCommentary( @RequestParam(value = "publishId", required = false) Long publishId, - @RequestParam(value = "problemId", required = false) Long problemId - ) { - return ResponseEntity.ok(commentaryGetService.getCommentary(publishId, problemId)); + @RequestParam(value = "problemId", required = false) Long problemId, + @AuthUser Member member + ) { + return ResponseEntity.ok(commentaryGetService.getCommentary(member.getId(), publishId, problemId)); } } diff --git a/src/main/java/com/moplus/moplus_server/client/submit/service/ClientSubmitService.java b/src/main/java/com/moplus/moplus_server/client/submit/service/ClientSubmitService.java index f6ebd58..11c4066 100644 --- a/src/main/java/com/moplus/moplus_server/client/submit/service/ClientSubmitService.java +++ b/src/main/java/com/moplus/moplus_server/client/submit/service/ClientSubmitService.java @@ -34,8 +34,7 @@ public class ClientSubmitService { private final ChildProblemRepository childProblemRepository; @Transactional - public void createProblemSubmit(ProblemSubmitCreateRequest request) { - Long memberId = 1L; + public void createProblemSubmit(Long memberId, ProblemSubmitCreateRequest request) { // 존재하는 발행인지 검증 publishRepository.existsByIdElseThrow(request.publishId()); @@ -52,8 +51,7 @@ public void createProblemSubmit(ProblemSubmitCreateRequest request) { } @Transactional - public ProblemSubmitStatus updateProblemSubmit(ProblemSubmitUpdateRequest request) { - Long memberId = 1L; + public ProblemSubmitStatus updateProblemSubmit(Long memberId, ProblemSubmitUpdateRequest request) { // 존재하는 발행인지 검증 publishRepository.existsByIdElseThrow(request.publishId()); @@ -73,8 +71,7 @@ public ProblemSubmitStatus updateProblemSubmit(ProblemSubmitUpdateRequest reques } @Transactional - public void createChildProblemSubmit(ChildProblemSubmitCreateRequest request) { - Long memberId = 1L; + public void createChildProblemSubmit(Long memberId, ChildProblemSubmitCreateRequest request) { // 존재하는 발행인지 검증 publishRepository.existsByIdElseThrow(request.publishId()); @@ -115,8 +112,7 @@ public void createChildProblemSubmit(ChildProblemSubmitCreateRequest request) { } @Transactional - public ChildProblemSubmitStatus updateChildProblemSubmit(ChildProblemSubmitUpdateRequest request) { - Long memberId = 1L; + public ChildProblemSubmitStatus updateChildProblemSubmit(Long memberId, ChildProblemSubmitUpdateRequest request) { // 존재하는 발행인지 검증 publishRepository.existsByIdElseThrow(request.publishId()); @@ -136,8 +132,7 @@ public ChildProblemSubmitStatus updateChildProblemSubmit(ChildProblemSubmitUpdat } @Transactional - public void updateChildProblemSubmitIncorrect(ChildProblemSubmitUpdateIncorrectRequest request) { - Long memberId = 1L; + public void updateChildProblemSubmitIncorrect(Long memberId, ChildProblemSubmitUpdateIncorrectRequest request) { // 존재하는 발행인지 검증 publishRepository.existsByIdElseThrow(request.publishId()); diff --git a/src/main/java/com/moplus/moplus_server/client/submit/service/CommentaryGetService.java b/src/main/java/com/moplus/moplus_server/client/submit/service/CommentaryGetService.java index cbbb914..140c647 100644 --- a/src/main/java/com/moplus/moplus_server/client/submit/service/CommentaryGetService.java +++ b/src/main/java/com/moplus/moplus_server/client/submit/service/CommentaryGetService.java @@ -1,6 +1,8 @@ package com.moplus.moplus_server.client.submit.service; import com.moplus.moplus_server.admin.publish.domain.Publish; +import com.moplus.moplus_server.client.submit.domain.ChildProblemSubmit; +import com.moplus.moplus_server.client.submit.domain.ChildProblemSubmitStatus; import com.moplus.moplus_server.client.submit.domain.ProblemSubmit; import com.moplus.moplus_server.client.submit.dto.response.ChildProblemDetailResponse; import com.moplus.moplus_server.client.submit.dto.response.CommentaryGetResponse; @@ -33,8 +35,7 @@ public class CommentaryGetService { private final ChildProblemSubmitRepository childProblemSubmitRepository; @Transactional(readOnly = true) - public CommentaryGetResponse getCommentary(Long publishId, Long problemId) { - Long memberId = 1L; + public CommentaryGetResponse getCommentary(Long memberId, Long publishId, Long problemId) { // 발행 조회 Publish publish = publishRepository.findByIdElseThrow(publishId); @@ -56,8 +57,10 @@ public CommentaryGetResponse getCommentary(Long publishId, Long problemId) { .map(cp -> ChildProblemDetailResponse.of( cp.getImageUrl(), cp.getPrescriptionImageUrls(), - childProblemSubmitRepository.findByMemberIdAndPublishIdAndChildProblemIdElseThrow(memberId, publishId, - cp.getId()).getStatus() + childProblemSubmitRepository.findByMemberIdAndPublishIdAndChildProblemId(memberId, publishId, + cp.getId()) + .map(ChildProblemSubmit::getStatus) + .orElse(ChildProblemSubmitStatus.NOT_STARTED) )).toList(); // 처방 정보 생성