Apply QuizSize on CronJob

This commit is contained in:
MangKyu
2021-12-16 22:24:03 +09:00
parent 70e70256d8
commit fd1fa87c51
3 changed files with 6 additions and 3 deletions

View File

@@ -27,8 +27,10 @@ public class User extends BaseEntity {
@Enumerated(EnumType.STRING)
private QuizLevel quizLevel;
@Builder.Default
private Integer quizSize = DEFAULT_QUIZ_SIZE;
@Builder.Default
@OneToMany(mappedBy = "user")
private List<SolvedQuiz> solvedQuizList = new ArrayList<>();

View File

@@ -37,7 +37,7 @@ public class SendQuizCronJob {
final List<User> userList = userService.getEnabledUserList();
for (final User user : userList) {
final List<Quiz> unsolvedQuizList = quizService.getUnsolvedQuizList(user.getId(), user.getQuizLevel());
final boolean isLastMail = isLastMail(unsolvedQuizList);
final boolean isLastMail = isLastMail(unsolvedQuizList, user.getQuizSize());
final List<Quiz> randomQuizList = quizService.getRandomQuizListUnderLimit(unsolvedQuizList);
if (isLastMail) {
@@ -49,8 +49,8 @@ public class SendQuizCronJob {
}
}
private boolean isLastMail(final List<Quiz> quizList) {
return quizList.size() <= QuizConstants.MAXIMUM_QUIZ_SIZE;
private boolean isLastMail(final List<Quiz> quizList, final Integer quizSize) {
return quizList.size() <= quizSize;
}
}

View File

@@ -43,6 +43,7 @@ class SendQuizCronJobTest {
user = User.builder()
.email("minkyu@test.com")
.quizLevel(QuizLevel.JUNIOR)
.quizSize(3)
.build();
userList = Collections.singletonList(user);