From 92e865e4a814b45d45304d3a526dd82f37937390 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=B0=95=EC=84=B8=EC=A4=80?= <74056843+sejoon00@users.noreply.github.com> Date: Wed, 29 Jan 2025 13:42:09 +0900 Subject: [PATCH] =?UTF-8?q?[fix/#24]=20problem=20repository=20bean=20?= =?UTF-8?q?=EC=9D=B4=EB=A6=84=20=EA=B2=B9=EC=B9=A8=20=EC=B6=A9=EB=8F=8C=20?= =?UTF-8?q?=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DetailResultApplicationService.java | 6 +++--- ...tory.java => ProblemForTestRepository.java} | 2 +- .../admin/PracticeTestAdminService.java | 6 +++--- .../admin/ProblemImageUploadService.java | 11 ++++++----- .../service/client/ProblemService.java | 18 +++++++++--------- .../client/PracticeTestServiceTest.java | 4 ++-- 6 files changed, 24 insertions(+), 23 deletions(-) rename src/main/java/com/moplus/moplus_server/domain/v0/practiceTest/repository/{ProblemRepository.java => ProblemForTestRepository.java} (92%) diff --git a/src/main/java/com/moplus/moplus_server/domain/v0/DetailResultApplication/service/DetailResultApplicationService.java b/src/main/java/com/moplus/moplus_server/domain/v0/DetailResultApplication/service/DetailResultApplicationService.java index 085cfad..1382c1f 100644 --- a/src/main/java/com/moplus/moplus_server/domain/v0/DetailResultApplication/service/DetailResultApplicationService.java +++ b/src/main/java/com/moplus/moplus_server/domain/v0/DetailResultApplication/service/DetailResultApplicationService.java @@ -14,7 +14,7 @@ import com.moplus.moplus_server.domain.v0.practiceTest.domain.PracticeTest; import com.moplus.moplus_server.domain.v0.practiceTest.domain.ProblemForTest; import com.moplus.moplus_server.domain.v0.practiceTest.repository.PracticeTestRepository; -import com.moplus.moplus_server.domain.v0.practiceTest.repository.ProblemRepository; +import com.moplus.moplus_server.domain.v0.practiceTest.repository.ProblemForTestRepository; import com.moplus.moplus_server.global.error.exception.ErrorCode; import com.moplus.moplus_server.global.error.exception.NotFoundException; import java.time.Duration; @@ -33,7 +33,7 @@ public class DetailResultApplicationService { private final EstimatedRatingRepository estimatedRatingRepository; private final IncorrectProblemService incorrectProblemService; private final IncorrectProblemRepository incorrectProblemRepository; - private final ProblemRepository problemRepository; + private final ProblemForTestRepository problemForTestRepository; @Transactional public void saveApplication(DetailResultApplicationPostRequest request) { @@ -57,7 +57,7 @@ public ReviewNoteGetResponse getReviewNoteInfo(Long testResultId) { List incorrectProblemForTests = incorrectProblemRepository.findAllByTestResultId(testResultId) .stream() .map(IncorrectProblem::getProblemId) - .map(problemId -> problemRepository.findById(problemId).orElseThrow()) + .map(problemId -> problemForTestRepository.findById(problemId).orElseThrow()) .toList(); List forCurrentRating = incorrectProblemForTests.stream() diff --git a/src/main/java/com/moplus/moplus_server/domain/v0/practiceTest/repository/ProblemRepository.java b/src/main/java/com/moplus/moplus_server/domain/v0/practiceTest/repository/ProblemForTestRepository.java similarity index 92% rename from src/main/java/com/moplus/moplus_server/domain/v0/practiceTest/repository/ProblemRepository.java rename to src/main/java/com/moplus/moplus_server/domain/v0/practiceTest/repository/ProblemForTestRepository.java index 43641ef..b45d893 100644 --- a/src/main/java/com/moplus/moplus_server/domain/v0/practiceTest/repository/ProblemRepository.java +++ b/src/main/java/com/moplus/moplus_server/domain/v0/practiceTest/repository/ProblemForTestRepository.java @@ -9,7 +9,7 @@ import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; -public interface ProblemRepository extends JpaRepository { +public interface ProblemForTestRepository extends JpaRepository { List findAllByPracticeTestId(Long id); diff --git a/src/main/java/com/moplus/moplus_server/domain/v0/practiceTest/service/admin/PracticeTestAdminService.java b/src/main/java/com/moplus/moplus_server/domain/v0/practiceTest/service/admin/PracticeTestAdminService.java index 4260692..00e7c6e 100644 --- a/src/main/java/com/moplus/moplus_server/domain/v0/practiceTest/service/admin/PracticeTestAdminService.java +++ b/src/main/java/com/moplus/moplus_server/domain/v0/practiceTest/service/admin/PracticeTestAdminService.java @@ -6,7 +6,7 @@ import com.moplus.moplus_server.domain.v0.practiceTest.dto.admin.request.PracticeTestRequest; import com.moplus.moplus_server.domain.v0.practiceTest.dto.admin.request.RatingTableRequest; import com.moplus.moplus_server.domain.v0.practiceTest.repository.PracticeTestRepository; -import com.moplus.moplus_server.domain.v0.practiceTest.repository.ProblemRepository; +import com.moplus.moplus_server.domain.v0.practiceTest.repository.ProblemForTestRepository; import com.moplus.moplus_server.domain.v0.practiceTest.repository.RatingTableRepository; import com.moplus.moplus_server.global.error.exception.ErrorCode; import com.moplus.moplus_server.global.error.exception.NotFoundException; @@ -22,7 +22,7 @@ public class PracticeTestAdminService { private final PracticeTestRepository practiceTestRepository; private final RatingTableRepository ratingTableRepository; - private final ProblemRepository problemRepository; + private final ProblemForTestRepository problemForTestRepository; private final RatingTableAdminService ratingTableAdminService; private static void addToPracticeTestUpdateModel(Model model, List ratingTables, @@ -63,7 +63,7 @@ public void getPracticeTestUpdateModel(Model model, Long id) { @Transactional public void deletePracticeTest(Long id) { ratingTableRepository.deleteAllByPracticeTestId(id); - problemRepository.deleteAllByPracticeTestId(id); + problemForTestRepository.deleteAllByPracticeTestId(id); practiceTestRepository.deleteById(id); } diff --git a/src/main/java/com/moplus/moplus_server/domain/v0/practiceTest/service/admin/ProblemImageUploadService.java b/src/main/java/com/moplus/moplus_server/domain/v0/practiceTest/service/admin/ProblemImageUploadService.java index affbdff..411f1e1 100644 --- a/src/main/java/com/moplus/moplus_server/domain/v0/practiceTest/service/admin/ProblemImageUploadService.java +++ b/src/main/java/com/moplus/moplus_server/domain/v0/practiceTest/service/admin/ProblemImageUploadService.java @@ -6,8 +6,8 @@ import com.moplus.moplus_server.domain.v0.practiceTest.domain.ProblemImageForTest; import com.moplus.moplus_server.domain.v0.practiceTest.dto.admin.request.ProblemImageRequest; import com.moplus.moplus_server.domain.v0.practiceTest.repository.PracticeTestRepository; +import com.moplus.moplus_server.domain.v0.practiceTest.repository.ProblemForTestRepository; import com.moplus.moplus_server.domain.v0.practiceTest.repository.ProblemImageRepository; -import com.moplus.moplus_server.domain.v0.practiceTest.repository.ProblemRepository; import com.moplus.moplus_server.global.error.exception.ErrorCode; import com.moplus.moplus_server.global.error.exception.NotFoundException; import com.moplus.moplus_server.global.utils.s3.S3Util; @@ -26,12 +26,13 @@ public class ProblemImageUploadService { private final S3Util s3Util; private final PracticeTestRepository practiceTestRepository; - private final ProblemRepository problemRepository; + private final ProblemForTestRepository problemForTestRepository; private final ProblemImageRepository problemImageRepository; @Transactional(readOnly = true) public void setProblemImagesByPracticeTestId(Long practiceTestId, Model model) { - List imageRequests = problemRepository.findAllByPracticeTestId(practiceTestId).stream() + List imageRequests = problemForTestRepository.findAllByPracticeTestId(practiceTestId) + .stream() .map(ProblemImageRequest::of) .toList(); model.addAttribute("problemImageRequests", imageRequests); @@ -41,7 +42,7 @@ public void setProblemImagesByPracticeTestId(Long practiceTestId, Model model) { public void uploadImage(Long practiceId, Long problemId, MultipartFile image) { PracticeTest practiceTest = practiceTestRepository.findById(practiceId) .orElseThrow(() -> new NotFoundException(ErrorCode.PRACTICE_TEST_NOT_FOUND)); - ProblemForTest problemForTest = problemRepository.findById(problemId) + ProblemForTest problemForTest = problemForTestRepository.findById(problemId) .orElseThrow(() -> new NotFoundException(ErrorCode.PROBLEM_NOT_FOUND)); String fileName = uploadFile(image, problemId, practiceTest.getName()); String s3ObjectUrl = s3Util.getS3ObjectUrl(fileName); @@ -52,7 +53,7 @@ public void uploadImage(Long practiceId, Long problemId, MultipartFile image) { .build(); ProblemImageForTest saved = problemImageRepository.save(problemImageForTest); problemForTest.addImage(saved); - problemRepository.save(problemForTest); + problemForTestRepository.save(problemForTest); } public String uploadFile(MultipartFile file, Long problemId, String practiceTestName) { diff --git a/src/main/java/com/moplus/moplus_server/domain/v0/practiceTest/service/client/ProblemService.java b/src/main/java/com/moplus/moplus_server/domain/v0/practiceTest/service/client/ProblemService.java index b22ff8b..e5560a6 100644 --- a/src/main/java/com/moplus/moplus_server/domain/v0/practiceTest/service/client/ProblemService.java +++ b/src/main/java/com/moplus/moplus_server/domain/v0/practiceTest/service/client/ProblemService.java @@ -4,7 +4,7 @@ import com.moplus.moplus_server.domain.v0.practiceTest.domain.ProblemForTest; import com.moplus.moplus_server.domain.v0.practiceTest.dto.admin.request.ProblemCreateRequest; import com.moplus.moplus_server.domain.v0.practiceTest.dto.client.response.ProblemGetResponse; -import com.moplus.moplus_server.domain.v0.practiceTest.repository.ProblemRepository; +import com.moplus.moplus_server.domain.v0.practiceTest.repository.ProblemForTestRepository; import com.moplus.moplus_server.global.error.exception.ErrorCode; import com.moplus.moplus_server.global.error.exception.NotFoundException; import jakarta.servlet.http.HttpServletRequest; @@ -18,7 +18,7 @@ @RequiredArgsConstructor public class ProblemService { - private final ProblemRepository problemRepository; + private final ProblemForTestRepository problemForTestRepository; @Transactional public void saveProblems(PracticeTest practiceTest, HttpServletRequest request) { @@ -41,12 +41,12 @@ public void saveProblems(PracticeTest practiceTest, HttpServletRequest request) .toList(); problemsEntities .forEach(ProblemForTest::calculateProblemRating); - problemRepository.saveAll(problemsEntities); + problemForTestRepository.saveAll(problemsEntities); } @Transactional public void updateProblems(PracticeTest practiceTest, HttpServletRequest request) { - List problemForTests = problemRepository.findAllByPracticeTestId(practiceTest.getId()); + List problemForTests = problemForTestRepository.findAllByPracticeTestId(practiceTest.getId()); for (int i = 1; i <= practiceTest.getSubject().getProblemCount(); i++) { ProblemForTest problemForTest = problemForTests.get(i - 1); @@ -55,29 +55,29 @@ public void updateProblems(PracticeTest practiceTest, HttpServletRequest request problemForTest.updateCorrectRate(Double.parseDouble(request.getParameter("correctRate_" + i))); problemForTest.calculateProblemRating(); - problemRepository.save(problemForTest); + problemForTestRepository.save(problemForTest); } } public ProblemForTest getProblemByPracticeTestIdAndNumber(Long practiceId, String problemNumber) { - return problemRepository.findByProblemNumberAndPracticeTestId(problemNumber, practiceId) + return problemForTestRepository.findByProblemNumberAndPracticeTestId(problemNumber, practiceId) .orElseThrow(() -> new NotFoundException(ErrorCode.PROBLEM_NOT_FOUND)); } @Transactional public ProblemForTest updateCorrectRate(Long practiceTestId, String problemNumber, double correctRate) { - ProblemForTest problemForTest = problemRepository.findByProblemNumberAndPracticeTestIdWithPessimisticLock( + ProblemForTest problemForTest = problemForTestRepository.findByProblemNumberAndPracticeTestIdWithPessimisticLock( problemNumber, practiceTestId) .orElseThrow(() -> new NotFoundException(ErrorCode.PROBLEM_NOT_FOUND)); problemForTest.getPracticeTest(); problemForTest.updateCorrectRate(correctRate); - return problemRepository.save(problemForTest); + return problemForTestRepository.save(problemForTest); } public List getProblemsByTestId(Long testId) { - return problemRepository.findAllByPracticeTestId(testId).stream() + return problemForTestRepository.findAllByPracticeTestId(testId).stream() .map(ProblemGetResponse::from) .toList(); } diff --git a/src/test/java/com/moplus/moplus_server/domain/practiceTest/service/client/PracticeTestServiceTest.java b/src/test/java/com/moplus/moplus_server/domain/practiceTest/service/client/PracticeTestServiceTest.java index a39a9cd..5a639ed 100644 --- a/src/test/java/com/moplus/moplus_server/domain/practiceTest/service/client/PracticeTestServiceTest.java +++ b/src/test/java/com/moplus/moplus_server/domain/practiceTest/service/client/PracticeTestServiceTest.java @@ -4,7 +4,7 @@ import com.moplus.moplus_server.domain.v0.practiceTest.domain.PracticeTest; import com.moplus.moplus_server.domain.v0.practiceTest.repository.PracticeTestRepository; -import com.moplus.moplus_server.domain.v0.practiceTest.repository.ProblemRepository; +import com.moplus.moplus_server.domain.v0.practiceTest.repository.ProblemForTestRepository; import com.moplus.moplus_server.domain.v0.practiceTest.service.client.PracticeTestService; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; @@ -25,7 +25,7 @@ class PracticeTestServiceTest { @Autowired private PracticeTestRepository practiceTestRepository; @Autowired - private ProblemRepository problemRepository; + private ProblemForTestRepository problemForTestRepository; @BeforeEach void setup() {