Skip to content

Commit 4da4fee

Browse files
authored
Question 도메인에 QueryDsl 적용 (#57)
* build: QueryDsl 설정 적용 - Persistence 모듈에 적용 - Spring Boot 2.* 버전에 맞는 설정 적용 * build: QueryDsl Qclass에 checkStyle이 적용되지 않도록 수정 * build: Qclass 생성 경로 수정 - 자동으로 gitIgnore에 포함되도록 수정 * build: compileQueryDsl 을 수행하는 플러그인 제거 - 해당 플러그인은 Qclass 생성을 compileJava와 분리하여 단독적으로 사용하기 위한 플러그인이지만, QClass 중복 생성 오류, 롬복 및 코틀린 코드 인식 불가능 오류등이 발생하여 제거 * build: QueryDsl 사용을 위한 JpaQueryFactory를 빈으로 등록 JpaConfig 클래스를 Persistence 모듈로 이동 * refactor: 문제의 댓글을 가져오는 쿼리 메소드를 QueryDsl로 수정 * refactor: QuestionRepository을 제네릭 기반으로 설정하여 재사용성 향상 * style: View - 면접식 문제 페이지 변수 수정 * refactor: MajorDescriptiveQuestion의 findAllSortedByIfApproved()메소드를 queryDsl로 변환 * refactor: Levels, Category, Approved에 따른 BooleanBuilder 만드는 로직을 인터페이스의 default로직으로 분리 - 재사용성 향상 * refactor: MajorMultipleChoiceQuestionJpaRepository에서 쓰이지 않는 쿼리 메소드 제거 * refactor: MajorMultipleChoiceDbService 삭제 - 기존 메소드를 MajorMultipleChoiceRepository에서 queryDsl로 구현 * refactor: MajorMultipleChoiceQuestionJpaRepository의 모든 커스텀 메소드를 MajorMultipleCHoiceQuestionRepository에서 QueryDsl로 구현 * refactor: QuestionQueryDslMaker가 Question에 국한되지 않도록 제네릭의 범위를 수정 * refactor: LicenseMultipleChoiceQuestionJpaRepository를 제거 - 모든 메소드를 QueryDsl기반의 LicenseMultipleChoiceQuestionRepository에 구현 * style: 패키지 구조 수정 * refactor: QuestionRepository가 제네릭 기반으로 수행되지 않도록 수정 - 스프링은 인터페이스가 아닌 구현체를 기준으로 빈을 등록되기 떄문에 제네릭 타입이 다르다고 다수의 빈이 생성되지 않음 - 쓰이지않는 JpaRepository 제거 * refactor: QuestionRepositoryService, QuestionRepository이 제네릭이 아닌 Question만을 반환하도록 수정 * build: Core 모듈이 JPA에 의존하도록 수정 JpaRepository를 바로 호출하도록하기 위함 * build: JPA가 모든 모듈에 적용되도록 수정 * refactor: QuesitonRepostoryService를 삭제하고 코어모듈이 JpaRepository의 기본 메소드를 바로 사용할 수 있도록 수정 * refactor: Core모듈이 Comment,Member의 JpaRepository를 사용하도록 수정 * style: Dsl을 사용하는 Repository가 클래스에 Dsl 키워드를 포함하도록 수정 * style: 코드 컨벤션 적용
1 parent f5b7b46 commit 4da4fee

File tree

54 files changed

+601
-520
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+601
-520
lines changed

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,6 @@ out/
4444

4545
### VS Code ###
4646
.vscode/
47+
48+
### QClass
49+
**/build/generated/sources/annotationProcessor/**

application/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ dependencies {
2323
implementation(project(":persistence"))
2424
implementation 'org.springframework.boot:spring-boot-starter-actuator'
2525
implementation 'io.springfox:springfox-boot-starter:3.0.0'
26-
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
26+
2727
}
2828

2929
test {

application/src/main/java/com/comssa/api/config/JpaConfig.java

-13
This file was deleted.

application/src/main/java/com/comssa/api/question/controller/rest/license/AdminLicenseQuestionController.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ public class AdminLicenseQuestionController {
2626
public ResponseEntity<List<ResponseMultipleChoiceQuestionDto>> makeLicenseQuestionOfSession(
2727
@RequestBody RequestMakeLicenseMultipleChoiceQuestionDto requestMakeLicenseMultipleChoiceQuestionDto) {
2828
return ResponseEntity.ok(
29-
adminLicenseQuestionMakeService.makeLicenseNormalQuestion(requestMakeLicenseMultipleChoiceQuestionDto));
29+
adminLicenseQuestionMakeService
30+
.makeLicenseMultipleChoiceQuestion(requestMakeLicenseMultipleChoiceQuestionDto));
3031
}
3132
}

application/src/main/java/com/comssa/api/question/service/rest/common/implement/BasicQuestionSelectorService.java

+9-8
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
import com.comssa.persistence.question.domain.common.QuestionLevel;
88
import com.comssa.persistence.question.domain.license.LicenseCategory;
99
import com.comssa.persistence.question.domain.license.LicenseSession;
10-
import com.comssa.persistence.question.repository.LicenseMultipleChoiceQuestionRepository;
11-
import com.comssa.persistence.question.repository.LicenseSessionRepository;
12-
import com.comssa.persistence.question.repository.MajorMultipleChoiceQuestionRepository;
10+
import com.comssa.persistence.question.repository.jpa.LicenseSessionRepository;
11+
import com.comssa.persistence.question.repository.querydsl.LicenseMultipleChoiceQuestionDslRepository;
12+
import com.comssa.persistence.question.repository.querydsl.MajorMultipleChoiceQuestionDslRepository;
1313
import lombok.RequiredArgsConstructor;
1414
import org.springframework.stereotype.Service;
1515

@@ -22,8 +22,8 @@
2222
@RequiredArgsConstructor
2323
public class BasicQuestionSelectorService implements QuestionSelectorService {
2424
private final LicenseSessionRepository licenseSessionRepository;
25-
private final MajorMultipleChoiceQuestionRepository majorMultipleChoiceQuestionRepository;
26-
private final LicenseMultipleChoiceQuestionRepository licenseMultipleChoiceQuestionRepository;
25+
private final MajorMultipleChoiceQuestionDslRepository majorMultipleChoiceQuestionDslRepository;
26+
private final LicenseMultipleChoiceQuestionDslRepository licenseMultipleChoiceQuestionDslRepository;
2727

2828
@Override
2929
public List<String> getCategories() {
@@ -56,10 +56,11 @@ public List<LicenseSession> getLicenseSessions(LicenseCategory licenseCategory)
5656
public List<? extends Question> getAllQuestions(List<QuestionCategory> questionCategories, boolean multipleChoice) {
5757
List<Question> questions = new ArrayList<>();
5858
if (multipleChoice) {
59-
questions.addAll(licenseMultipleChoiceQuestionRepository.findAllByQuestionCategoriesFetchChoices(
60-
questionCategories));
61-
questions.addAll(majorMultipleChoiceQuestionRepository.findAllByQuestionCategoriesFetchChoices(
59+
questions.addAll(licenseMultipleChoiceQuestionDslRepository.findAllWhereQuestionCategories(
6260
questionCategories));
61+
questions.addAll(majorMultipleChoiceQuestionDslRepository
62+
.findAllWhereQuestionCategories(
63+
questionCategories));
6364
}
6465
return questions;
6566
}

application/src/main/java/com/comssa/api/question/service/rest/common/implement/QuestionChoiceGradeService.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.comssa.api.question.service.rest.common.implement;
22

33
import com.comssa.persistence.question.domain.common.QuestionChoice;
4-
import com.comssa.persistence.question.repository.QuestionChoiceRepository;
4+
import com.comssa.persistence.question.repository.jpa.QuestionChoiceRepository;
55
import lombok.RequiredArgsConstructor;
66
import org.springframework.stereotype.Service;
77

application/src/main/java/com/comssa/api/question/service/rest/common/implement/QuestionChoiceService.java

+4-6
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@
66
import com.comssa.persistence.question.domain.major.MajorMultipleChoiceQuestion;
77
import com.comssa.persistence.question.domain.major.MajorQuestionChoice;
88
import com.comssa.persistence.question.dto.common.request.RequestMakeMultipleChoiceQuestionDto;
9-
import com.comssa.persistence.question.repository.LicenseQuestionChoiceRepository;
10-
import com.comssa.persistence.question.repository.MajorQuestionChoiceRepository;
9+
import com.comssa.persistence.question.repository.jpa.QuestionChoiceRepository;
1110
import lombok.RequiredArgsConstructor;
1211
import org.springframework.stereotype.Service;
1312
import org.springframework.transaction.annotation.Transactional;
@@ -18,13 +17,12 @@
1817
@RequiredArgsConstructor
1918
@Transactional
2019
public class QuestionChoiceService {
21-
private final MajorQuestionChoiceRepository majorQuestionChoiceRepository;
22-
private final LicenseQuestionChoiceRepository licenseQuestionChoiceRepository;
20+
private final QuestionChoiceRepository questionChoiceRepository;
2321

2422
public void saveWith(
2523
RequestMakeMultipleChoiceQuestionDto dto,
2624
LicenseMultipleChoiceQuestion licenseMultipleChoiceQuestion) {
27-
licenseQuestionChoiceRepository.saveAll(dto.getQuestionChoices()
25+
questionChoiceRepository.saveAll(dto.getQuestionChoices()
2826
.stream()
2927
.map(qc -> LicenseQuestionChoice.from(qc, licenseMultipleChoiceQuestion))
3028
.collect(Collectors.toList()));
@@ -33,7 +31,7 @@ public void saveWith(
3331
public void saveWith(
3432
RequestMakeMultipleChoiceQuestionDto dto,
3533
MajorMultipleChoiceQuestion majorMultipleChoiceQuestion) {
36-
majorQuestionChoiceRepository.saveAll(dto.getQuestionChoices()
34+
questionChoiceRepository.saveAll(dto.getQuestionChoices()
3735
.stream()
3836
.map(qc -> MajorQuestionChoice.fromMajorQuestion(qc, majorMultipleChoiceQuestion))
3937
.collect(Collectors.toList()));

application/src/main/java/com/comssa/api/question/service/rest/common/implement/QuestionChoiceUpdateService.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.comssa.api.question.service.rest.common.implement;
22

33
import com.comssa.persistence.question.domain.common.QuestionChoice;
4-
import com.comssa.persistence.question.repository.QuestionChoiceRepository;
4+
import com.comssa.persistence.question.repository.jpa.QuestionChoiceRepository;
55
import lombok.RequiredArgsConstructor;
66
import org.springframework.stereotype.Service;
77
import org.springframework.transaction.annotation.Transactional;

application/src/main/java/com/comssa/api/question/service/rest/common/implement/QuestionUpdateService.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import com.comssa.api.question.service.rest.common.FileUploadService;
44
import com.comssa.persistence.question.domain.common.Question;
5-
import com.comssa.persistence.question.service.QuestionRepositoryService;
5+
import com.comssa.persistence.question.repository.jpa.QuestionRepository;
66
import lombok.RequiredArgsConstructor;
77
import org.springframework.stereotype.Service;
88
import org.springframework.web.multipart.MultipartFile;
@@ -13,7 +13,7 @@
1313
@RequiredArgsConstructor
1414
public class QuestionUpdateService
1515
implements com.comssa.api.question.service.rest.common.QuestionUpdateService<Question> {
16-
private final QuestionRepositoryService questionRepositoryService;
16+
private final QuestionRepository questionRepository;
1717
private final FileUploadService fileUploadService;
1818

1919
@Override
@@ -32,11 +32,11 @@ public String updateImage(Long questionId, MultipartFile image) {
3232

3333
@Override
3434
public void deleteQuestion(Long questionId) {
35-
questionRepositoryService.delete(questionId);
35+
questionRepository.deleteById(questionId);
3636
}
3737

3838
@Override
3939
public Question findById(Long questionId) {
40-
return questionRepositoryService.findById(questionId);
40+
return questionRepository.findById(questionId).get();
4141
}
4242
}

application/src/main/java/com/comssa/api/question/service/rest/license/implement/AdminLicenseQuestionGetService.java

+5-4
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import com.comssa.persistence.question.domain.common.Question;
77
import com.comssa.persistence.question.domain.common.QuestionCategory;
88
import com.comssa.persistence.question.domain.license.LicenseMultipleChoiceQuestion;
9-
import com.comssa.persistence.question.repository.LicenseMultipleChoiceQuestionRepository;
9+
import com.comssa.persistence.question.repository.querydsl.LicenseMultipleChoiceQuestionDslRepository;
1010
import lombok.RequiredArgsConstructor;
1111
import org.springframework.stereotype.Service;
1212
import org.springframework.transaction.annotation.Transactional;
@@ -18,7 +18,8 @@
1818
@Transactional
1919
@RequiredArgsConstructor
2020
public class AdminLicenseQuestionGetService implements LicenseQuestionGetService {
21-
private final LicenseMultipleChoiceQuestionRepository licenseMultipleChoiceQuestionRepository;
21+
22+
private final LicenseMultipleChoiceQuestionDslRepository licenseMultipleChoiceQuestionDslRepository;
2223
private final QuestionClassifyByCategoryService questionClassifyByCategoryService;
2324

2425
/**
@@ -29,8 +30,8 @@ public class AdminLicenseQuestionGetService implements LicenseQuestionGetService
2930
@Override
3031
public Map<QuestionCategory, List<Question>> getClassifiedLicenseMultipleChoiceQuestion(
3132
Long sessionId) {
32-
List<LicenseMultipleChoiceQuestion> licenseMultipleChoiceQuestions = licenseMultipleChoiceQuestionRepository
33-
.findAllByLicenseSessionIdFetchChoicesOrderByApproved(sessionId);
33+
List<LicenseMultipleChoiceQuestion> licenseMultipleChoiceQuestions = licenseMultipleChoiceQuestionDslRepository
34+
.findAllWhereLicenseSessionId(sessionId);
3435
return questionClassifyByCategoryService.classifyQuestionByCategoryOrdered(licenseMultipleChoiceQuestions);
3536
}
3637
}

application/src/main/java/com/comssa/api/question/service/rest/license/implement/AdminLicenseQuestionMakeService.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import com.comssa.persistence.question.dto.common.response.ResponseMultipleChoiceQuestionDto;
1010
import com.comssa.persistence.question.dto.common.response.ResponseQuestionDto;
1111
import com.comssa.persistence.question.dto.license.request.RequestMakeLicenseMultipleChoiceQuestionDto;
12-
import com.comssa.persistence.question.repository.LicenseMultipleChoiceQuestionRepository;
12+
import com.comssa.persistence.question.repository.jpa.QuestionRepository;
1313
import lombok.RequiredArgsConstructor;
1414
import org.springframework.stereotype.Service;
1515
import org.springframework.transaction.annotation.Transactional;
@@ -22,10 +22,10 @@
2222
@RequiredArgsConstructor
2323
public class AdminLicenseQuestionMakeService {
2424
private final LicenseSessionService licenseSessionService;
25-
private final LicenseMultipleChoiceQuestionRepository licenseMultipleChoiceQuestionRepository;
25+
private final QuestionRepository questionRepository;
2626
private final QuestionChoiceService questionChoiceService;
2727

28-
public List<ResponseMultipleChoiceQuestionDto> makeLicenseNormalQuestion(
28+
public List<ResponseMultipleChoiceQuestionDto> makeLicenseMultipleChoiceQuestion(
2929
RequestMakeLicenseMultipleChoiceQuestionDto requestMakeLicenseMultipleChoiceQuestionDto) {
3030
LicenseSession licenseSession = licenseSessionService.getLicenseSession(
3131
requestMakeLicenseMultipleChoiceQuestionDto.getLicenseSession(),
@@ -34,18 +34,18 @@ public List<ResponseMultipleChoiceQuestionDto> makeLicenseNormalQuestion(
3434
.getQuestions();
3535
return questions
3636
.stream()
37-
.map(q -> saveNormalLicenseQuestion(q, licenseSession,
37+
.map(q -> saveLicenseMultipleChoiceQuestion(q, licenseSession,
3838
requestMakeLicenseMultipleChoiceQuestionDto.getLicenseCategory()))
3939
.collect(Collectors.toList());
4040
}
4141

42-
private ResponseMultipleChoiceQuestionDto saveNormalLicenseQuestion(
42+
private ResponseMultipleChoiceQuestionDto saveLicenseMultipleChoiceQuestion(
4343
RequestMakeMultipleChoiceQuestionDto requestMakeMultipleChoiceQuestionDto,
4444
LicenseSession licenseSession,
4545
LicenseCategory licenseCategory) {
4646
LicenseMultipleChoiceQuestion licenseMultipleChoiceQuestion = LicenseMultipleChoiceQuestion.makeWithDto(
4747
requestMakeMultipleChoiceQuestionDto, licenseSession, licenseCategory);
48-
licenseMultipleChoiceQuestionRepository.save(licenseMultipleChoiceQuestion);
48+
questionRepository.save(licenseMultipleChoiceQuestion);
4949
questionChoiceService.saveWith(requestMakeMultipleChoiceQuestionDto, licenseMultipleChoiceQuestion);
5050
return ResponseQuestionDto.from(licenseMultipleChoiceQuestion);
5151
}

application/src/main/java/com/comssa/api/question/service/rest/license/implement/LicenseSessionService.java

+15-15
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
import com.comssa.persistence.question.domain.license.LicenseCategory;
55
import com.comssa.persistence.question.domain.license.LicenseSession;
6-
import com.comssa.persistence.question.repository.LicenseSessionRepository;
6+
import com.comssa.persistence.question.repository.jpa.LicenseSessionRepository;
77
import lombok.RequiredArgsConstructor;
88
import org.springframework.stereotype.Service;
99
import org.springframework.transaction.annotation.Transactional;
@@ -14,20 +14,20 @@
1414
@RequiredArgsConstructor
1515
@Transactional
1616
public class LicenseSessionService {
17-
private final LicenseSessionRepository licenseSessionRepository;
17+
private final LicenseSessionRepository licenseSessionRepository;
1818

19-
public LicenseSession getLicenseSession(String session, LicenseCategory licenseCategory) {
20-
Optional<LicenseSession> licenseSession = licenseSessionRepository.findLicenseSessionByContent(session,
21-
licenseCategory);
22-
if (licenseSession.isPresent()) {
23-
return licenseSession.get();
24-
}
25-
LicenseSession newLicenseSession = LicenseSession.from(session, licenseCategory);
26-
licenseSessionRepository.save(newLicenseSession);
27-
return newLicenseSession;
28-
}
19+
public LicenseSession getLicenseSession(String session, LicenseCategory licenseCategory) {
20+
Optional<LicenseSession> licenseSession = licenseSessionRepository.findLicenseSessionByContent(session,
21+
licenseCategory);
22+
if (licenseSession.isPresent()) {
23+
return licenseSession.get();
24+
}
25+
LicenseSession newLicenseSession = LicenseSession.from(session, licenseCategory);
26+
licenseSessionRepository.save(newLicenseSession);
27+
return newLicenseSession;
28+
}
2929

30-
public LicenseSession getLicenseSessionById(Long licenseSessionId) {
31-
return licenseSessionRepository.findById(licenseSessionId).orElse(null);
32-
}
30+
public LicenseSession getLicenseSessionById(Long licenseSessionId) {
31+
return licenseSessionRepository.findById(licenseSessionId).orElse(null);
32+
}
3333
}

application/src/main/java/com/comssa/api/question/service/rest/license/implement/UserLicenseQuestionGetService.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import com.comssa.persistence.question.domain.common.Question;
77
import com.comssa.persistence.question.domain.common.QuestionCategory;
88
import com.comssa.persistence.question.domain.license.LicenseMultipleChoiceQuestion;
9-
import com.comssa.persistence.question.repository.LicenseMultipleChoiceQuestionRepository;
9+
import com.comssa.persistence.question.repository.querydsl.LicenseMultipleChoiceQuestionDslRepository;
1010
import lombok.RequiredArgsConstructor;
1111
import org.springframework.stereotype.Service;
1212
import org.springframework.transaction.annotation.Transactional;
@@ -19,14 +19,14 @@
1919
@RequiredArgsConstructor
2020
@Transactional(readOnly = true)
2121
public class UserLicenseQuestionGetService implements LicenseQuestionGetService {
22-
private final LicenseMultipleChoiceQuestionRepository licenseMultipleChoiceQuestionRepository;
22+
private final LicenseMultipleChoiceQuestionDslRepository licenseMultipleChoiceQuestionDslRepository;
2323
private final QuestionClassifyByCategoryService questionClassifyByCategoryService;
2424

2525
public Map<QuestionCategory, List<Question>> getClassifiedLicenseMultipleChoiceQuestion(
2626
Long sessionId) {
27-
List<LicenseMultipleChoiceQuestion> licenseMultipleChoiceQuestions = licenseMultipleChoiceQuestionRepository
28-
.findAllByLicenseSessionIdFetchChoicesAndIfApproved(
29-
sessionId);
27+
List<LicenseMultipleChoiceQuestion> licenseMultipleChoiceQuestions = licenseMultipleChoiceQuestionDslRepository
28+
.findAllWhereLicenseSessionIdAndIfApproved(
29+
sessionId, true);
3030
for (LicenseMultipleChoiceQuestion licenseMultipleChoiceQuestion : licenseMultipleChoiceQuestions) {
3131
Collections.shuffle(licenseMultipleChoiceQuestion.getQuestionChoices());
3232
}
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,24 @@
11
package com.comssa.api.question.service.rest.major.implement;
22

33
import com.comssa.persistence.question.domain.major.MajorMultipleChoiceQuestion;
4+
import com.comssa.persistence.question.repository.jpa.MajorMultipleChoiceQuestionRepository;
45
import lombok.RequiredArgsConstructor;
56
import org.springframework.stereotype.Service;
67
import org.springframework.transaction.annotation.Transactional;
78

9+
import java.util.NoSuchElementException;
10+
811
@Service
912
@RequiredArgsConstructor
1013
@Transactional
1114
public class AdminMajorMultipleChoiceQuestionUpdateService {
12-
private final MajorMultipleChoiceQuestionDbService majorMultipleChoiceQuestionDBService;
15+
private final MajorMultipleChoiceQuestionRepository majorMultipleChoiceQuestionRepository;
1316

1417
public MajorMultipleChoiceQuestion toggleCanBeShortAnswered(Long questionId) {
15-
MajorMultipleChoiceQuestion majorMultipleChoiceQuestion = majorMultipleChoiceQuestionDBService
16-
.findById(
17-
questionId);
18+
MajorMultipleChoiceQuestion majorMultipleChoiceQuestion = majorMultipleChoiceQuestionRepository
19+
.findById(questionId)
20+
.orElseThrow(NoSuchElementException::new);
1821
majorMultipleChoiceQuestion.toggleCanBeShortAnswered();
1922
return majorMultipleChoiceQuestion;
2023
}
21-
2224
}

application/src/main/java/com/comssa/api/question/service/rest/major/implement/BasicAdminMajorQuestionClassifiedGetService.java

+7-6
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
import com.comssa.persistence.question.domain.common.QuestionCategory;
88
import com.comssa.persistence.question.domain.major.MajorDescriptiveQuestion;
99
import com.comssa.persistence.question.domain.major.MajorMultipleChoiceQuestion;
10-
import com.comssa.persistence.question.repository.MajorDescriptiveQuestionRepository;
10+
import com.comssa.persistence.question.repository.querydsl.MajorDescriptiveDslRepository;
11+
import com.comssa.persistence.question.repository.querydsl.MajorMultipleChoiceQuestionDslRepository;
1112
import lombok.RequiredArgsConstructor;
1213
import org.springframework.stereotype.Service;
1314
import org.springframework.transaction.annotation.Transactional;
@@ -19,9 +20,9 @@
1920
@RequiredArgsConstructor
2021
@Transactional
2122
public class BasicAdminMajorQuestionClassifiedGetService implements AdminMajorQuestionClassifiedGetService {
22-
private final MajorMultipleChoiceQuestionDbService majorMultipleChoiceQuestionDbService;
23-
private final MajorDescriptiveQuestionRepository majorDescriptiveQuestionRepository;
2423
private final QuestionClassifyByCategoryService questionClassifyByCategoryService;
24+
private final MajorDescriptiveDslRepository majorDescriptiveQuestionChooseRepository;
25+
private final MajorMultipleChoiceQuestionDslRepository majorMultipleChoiceQuestionDslRepository;
2526

2627
/**
2728
* 관리자가 조회시 Approve됐는지 기준으로 정렬되며(false인 것부터),
@@ -31,15 +32,15 @@ public class BasicAdminMajorQuestionClassifiedGetService implements AdminMajorQu
3132
*/
3233
@Override
3334
public Map<QuestionCategory, List<Question>> getClassifiedAllMajorMultipleChoiceQuestions() {
34-
List<MajorMultipleChoiceQuestion> majorMultipleChoiceQuestions = majorMultipleChoiceQuestionDbService
35-
.findAllFetchChoicesSortedByApproveAndShortAnswered();
35+
List<MajorMultipleChoiceQuestion> majorMultipleChoiceQuestions = majorMultipleChoiceQuestionDslRepository
36+
.findAllOrderByIfApprovedAsc();
3637
return questionClassifyByCategoryService.classifyQuestionByCategoryOrdered(majorMultipleChoiceQuestions);
3738
}
3839

3940
@Override
4041
public Map<QuestionCategory, List<Question>> getClassifiedAllMajorDescriptiveQuestions() {
4142
List<MajorDescriptiveQuestion> majorDescriptiveQuestions =
42-
majorDescriptiveQuestionRepository.findAllSortedByIfApproved();
43+
majorDescriptiveQuestionChooseRepository.findAllOrderByIfApprovedAsc();
4344
return questionClassifyByCategoryService.classifyQuestionByCategoryOrdered(majorDescriptiveQuestions);
4445
}
4546
}

0 commit comments

Comments
 (0)