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 @@ -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;
Expand All @@ -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) {
Expand All @@ -57,7 +57,7 @@ public ReviewNoteGetResponse getReviewNoteInfo(Long testResultId) {
List<ProblemForTest> incorrectProblemForTests = incorrectProblemRepository.findAllByTestResultId(testResultId)
.stream()
.map(IncorrectProblem::getProblemId)
.map(problemId -> problemRepository.findById(problemId).orElseThrow())
.map(problemId -> problemForTestRepository.findById(problemId).orElseThrow())
.toList();

List<ProblemGetResponse> forCurrentRating = incorrectProblemForTests.stream()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

public interface ProblemRepository extends JpaRepository<ProblemForTest, Long> {
public interface ProblemForTestRepository extends JpaRepository<ProblemForTest, Long> {

List<ProblemForTest> findAllByPracticeTestId(Long id);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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<RatingTable> ratingTables,
Expand Down Expand Up @@ -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);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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<ProblemImageRequest> imageRequests = problemRepository.findAllByPracticeTestId(practiceTestId).stream()
List<ProblemImageRequest> imageRequests = problemForTestRepository.findAllByPracticeTestId(practiceTestId)
.stream()
.map(ProblemImageRequest::of)
.toList();
model.addAttribute("problemImageRequests", imageRequests);
Expand All @@ -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);
Expand All @@ -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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -18,7 +18,7 @@
@RequiredArgsConstructor
public class ProblemService {

private final ProblemRepository problemRepository;
private final ProblemForTestRepository problemForTestRepository;

@Transactional
public void saveProblems(PracticeTest practiceTest, HttpServletRequest request) {
Expand All @@ -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<ProblemForTest> problemForTests = problemRepository.findAllByPracticeTestId(practiceTest.getId());
List<ProblemForTest> problemForTests = problemForTestRepository.findAllByPracticeTestId(practiceTest.getId());

for (int i = 1; i <= practiceTest.getSubject().getProblemCount(); i++) {
ProblemForTest problemForTest = problemForTests.get(i - 1);
Expand All @@ -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<ProblemGetResponse> getProblemsByTestId(Long testId) {
return problemRepository.findAllByPracticeTestId(testId).stream()
return problemForTestRepository.findAllByPracticeTestId(testId).stream()
.map(ProblemGetResponse::from)
.toList();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -25,7 +25,7 @@ class PracticeTestServiceTest {
@Autowired
private PracticeTestRepository practiceTestRepository;
@Autowired
private ProblemRepository problemRepository;
private ProblemForTestRepository problemForTestRepository;

@BeforeEach
void setup() {
Expand Down