Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -29,43 +31,48 @@ public class ClientSubmitController {
@PostMapping("problemSubmit")
@Operation(summary = "문항 제출 생성", description = "문항 제출을 '진행중'으로 생성합니다.")
public ResponseEntity<Void> 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<ProblemSubmitStatus> 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<Void> 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<ChildProblemSubmitStatus> 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<Void> updateChildProblemSubmitIncorrect(
@RequestBody ChildProblemSubmitUpdateIncorrectRequest request
@RequestBody ChildProblemSubmitUpdateIncorrectRequest request,
@AuthUser Member member
) {
clientSubmitService.updateChildProblemSubmitIncorrect(request);
clientSubmitService.updateChildProblemSubmitIncorrect(member.getId(), request);
return ResponseEntity.ok(null);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -23,8 +25,9 @@ public class CommentaryGetController {
@Operation(summary = "해설 조회", description = "문항 별 해설/처방을 조회합니다.")
public ResponseEntity<CommentaryGetResponse> 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));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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());
Expand All @@ -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());
Expand All @@ -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());
Expand Down Expand Up @@ -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());
Expand All @@ -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());
Expand Down
Original file line number Diff line number Diff line change
@@ -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;
Expand Down Expand Up @@ -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);
Expand All @@ -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();

// 처방 정보 생성
Expand Down