Skip to content

Commit 83f7ffa

Browse files
committed
최신 coursebook이 수강신청 사이트보다 더 최근이면 예외 발생
1 parent b170e9f commit 83f7ffa

File tree

3 files changed

+16
-1
lines changed

3 files changed

+16
-1
lines changed

batch/src/main/kotlin/sugangsnu/job/sync/service/SugangSnuSyncService.kt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.wafflestudio.snutt.sugangsnu.job.sync.service
22

33
import com.wafflestudio.snutt.bookmark.repository.BookmarkRepository
4+
import com.wafflestudio.snutt.common.exception.CoursebookRecentThanSugangSnuException
45
import com.wafflestudio.snutt.coursebook.data.Coursebook
56
import com.wafflestudio.snutt.coursebook.repository.CoursebookRepository
67
import com.wafflestudio.snutt.lecturebuildings.data.Campus
@@ -377,7 +378,13 @@ class SugangSnuSyncServiceImpl(
377378
}
378379

379380
private fun Coursebook.isSyncedToSugangSnu(sugangSnuCoursebookCondition: SugangSnuCoursebookCondition): Boolean =
380-
this.year == sugangSnuCoursebookCondition.latestYear && this.semester == sugangSnuCoursebookCondition.latestSemester
381+
Coursebook(year = sugangSnuCoursebookCondition.latestYear, semester = sugangSnuCoursebookCondition.latestSemester).let { sugangSnuCoursebook ->
382+
when {
383+
sugangSnuCoursebook > this -> false
384+
sugangSnuCoursebook < this -> throw CoursebookRecentThanSugangSnuException
385+
else -> true
386+
}
387+
}
381388
}
382389

383390
data class ParsedTags(

core/src/main/kotlin/common/exception/ErrorType.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,4 +101,10 @@ enum class ErrorType(
101101
CANNOT_REMOVE_LAST_AUTH_PROVIDER(HttpStatus.CONFLICT, 40909, "최소 한 개의 로그인 수단은 유지해야 합니다", "최소 한 개의 로그인 수단은 유지해야 합니다"),
102102

103103
DYNAMIC_LINK_GENERATION_FAILED(HttpStatus.INTERNAL_SERVER_ERROR, 50001, "링크 생성 실패", "링크 생성에 실패했습니다. 잠시 후 다시 시도해주세요"),
104+
COURSEBOOK_RECENT_THAN_SUGANGSNU(
105+
HttpStatus.INTERNAL_SERVER_ERROR,
106+
50002,
107+
"현재 Coursebook이 수강신청 사이트보다 최근입니다.",
108+
"현재 Coursebook이 수강신청 사이트보다 최근입니다.",
109+
),
104110
}

core/src/main/kotlin/common/exception/SnuttException.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,3 +181,5 @@ object DuplicateSocialAccountException : SnuttException(ErrorType.DUPLICATE_SOCI
181181
object CannotRemoveLastAuthProviderException : SnuttException(ErrorType.CANNOT_REMOVE_LAST_AUTH_PROVIDER)
182182

183183
object DynamicLinkGenerationFailedException : SnuttException(ErrorType.DYNAMIC_LINK_GENERATION_FAILED)
184+
185+
object CoursebookRecentThanSugangSnuException : SnuttException(ErrorType.COURSEBOOK_RECENT_THAN_SUGANGSNU)

0 commit comments

Comments
 (0)