Skip to content

Commit 178c1bf

Browse files
committed
feat :: 문제에 대한 풀이 수 및 평균 추가
1 parent 8a9e8e2 commit 178c1bf

File tree

7 files changed

+30
-7
lines changed

7 files changed

+30
-7
lines changed

src/main/java/JavaProject/Dayoung/domain/quiz/domain/Quiz.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,19 @@ public class Quiz {
3939
@Column(nullable = false)
4040
private LocalDateTime createdAt;
4141

42-
public void updateQuiz(String title, String question, Level level, List<Long> codeIds, List<Long> areaIds) {
42+
@Column(nullable = false)
43+
private int solutions;
44+
45+
@Column(nullable = false)
46+
private int average;
47+
48+
public void updateQuiz(String title, String question, Level level, List<Long> codeIds, List<Long> areaIds, int solutions, int average) {
4349
this.title = title;
4450
this.question = question;
4551
this.level = level;
4652
this.codeIds = codeIds;
4753
this.areaIds = areaIds;
54+
this.solutions = solutions;
55+
this.average = average;
4856
}
4957
}

src/main/java/JavaProject/Dayoung/domain/quiz/presentation/QuizController.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,11 @@ public QuizListResponse getQuizList(
5353
@RequestParam(value = "area_ids", required = false) List<Long> areaIds,
5454
@RequestParam(value = "level", required = false) List<Level> level,
5555
@RequestParam(value = "is_solved", required = false) Boolean isSolved,
56-
@RequestParam(value = "page", defaultValue = "1") @Positive int page
56+
@RequestParam(value = "page", defaultValue = "1") @Positive int page,
57+
@RequestParam(value = "solutions", required = false) int solutions,
58+
@RequestParam(value = "average", required = false) int average
5759
) {
58-
return queryQuizListService.execute(title, areaIds, level, isSolved, page);
60+
return queryQuizListService.execute(title, areaIds, level, isSolved, page, solutions, average);
5961
}
6062

6163
@GetMapping("/category")

src/main/java/JavaProject/Dayoung/domain/quiz/presentation/dto/request/QuizFilter.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ public class QuizFilter {
1515
private final List<Level> levels;
1616
private final Boolean isSolved;
1717
private final int page;
18+
private final int solutions;
19+
private final int average;
1820
@Builder.Default
1921
private int limit = 15;
2022

src/main/java/JavaProject/Dayoung/domain/quiz/presentation/dto/request/UpdateQuizRequest.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,8 @@ public class UpdateQuizRequest {
1919
private List<Long> codeIds;
2020

2121
private List<Long> areaIds;
22+
23+
private int solutions;
24+
25+
private int average;
2226
}

src/main/java/JavaProject/Dayoung/domain/quiz/presentation/dto/response/QuizListResponse.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,11 @@ public static class QuizResponse {
2828

2929
private final Level level;
3030

31-
private final int avgScore;
31+
// private final int avgScore;
32+
33+
private final int solutions;
34+
35+
private final int average;
3236

3337
public static QuizResponse from(Quiz quiz) {
3438
return QuizResponse.builder()
@@ -37,7 +41,8 @@ public static QuizResponse from(Quiz quiz) {
3741
.question(quiz.getQuestion())
3842
.areaIds(quiz.getAreaIds())
3943
.level(quiz.getLevel())
40-
.avgScore(0)
44+
.solutions(quiz.getSolutions())
45+
.average(quiz.getAverage())
4146
.build();
4247
}
4348
}

src/main/java/JavaProject/Dayoung/domain/quiz/service/QueryQuizListService.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public class QueryQuizListService {
1818

1919
private final QuizPort quizPort;
2020

21-
public QuizListResponse execute(String title, List<Long> areaIds, List<Level> level, Boolean isSolved, int page) {
21+
public QuizListResponse execute(String title, List<Long> areaIds, List<Level> level, Boolean isSolved, int page, int solutions, int average) {
2222

2323
QuizFilter filter = QuizFilter.builder()
2424
.title(title)
@@ -27,6 +27,8 @@ public QuizListResponse execute(String title, List<Long> areaIds, List<Level> le
2727
.isSolved(isSolved)
2828
.page(page)
2929
.limit(15)
30+
.solutions(solutions)
31+
.average(average)
3032
.build();
3133

3234
List<QuizResponse> quizList = quizPort.queryAllByFilter(filter).stream()

src/main/java/JavaProject/Dayoung/domain/quiz/service/UpdateQuizService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@ public class UpdateQuizService {
1717
public void execute(Long quizId, UpdateQuizRequest request) {
1818
Quiz quiz = quizFacade.getQuiz(quizId);
1919

20-
quiz.updateQuiz(request.getTitle(), request.getQuestion(), request.getLevel(), request.getCodeIds(), request.getAreaIds());
20+
quiz.updateQuiz(request.getTitle(), request.getQuestion(), request.getLevel(), request.getCodeIds(), request.getAreaIds(), request.getSolutions(), request.getAverage());
2121
}
2222
}

0 commit comments

Comments
 (0)