Skip to content

Commit

Permalink
give suggestion if fetch empty course list from school
Browse files Browse the repository at this point in the history
  • Loading branch information
StageGuard committed Sep 6, 2021
1 parent aab2f8f commit 0c1d050
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 21 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ data class ErrorCourseReceiptDTO(
@Serializable
data class __InternalGenericCourseData(
val endSchoolYear: String,
val lessonList: List<__InternalLesson>,
val lessonList: List<__InternalLesson> = listOf(),
val maxCount: Int,
val semester: String,
val startSchoolYear: String
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,26 +111,37 @@ object RequestHandlerService : AbstractPluginManagedService(Dispatchers.IO) {
if(!user.empty()) {
SuperCourseApiService.getCourses(request.cookieData).also { coursesDTO -> when(coursesDTO) {
is Either.Left -> {
Database.query { coursesDTO.value.data.lessonList.forEach { e -> courseTable.insert { crs ->
crs[courseId] = e.courseId
crs[courseName] = e.name
crs[teacherName] = e.teacher
crs[locale] = e.locale
crs[whichDayOfWeek] = e.day
crs[sectionStart] = e.sectionstart
crs[sectionEnd] = e.sectionend
crs[weekPeriod] = e.smartPeriod
crs[beginYear] = TimeProviderService.currentSemesterBeginYear
crs[semester] = TimeProviderService.currentSemester
} } }
info("Sync user ${request.qq}'s courses successfully.")
ScheduleListenerService.restartUserNotification(request.qq)
BotEventRouteService.sendMessageNonBlock(request.qq,"""
课程同步成功!
你将在每节课上课前 ${PluginData.advancedTipOffset[request.qq] ?: PluginConfig.advancedTipTime} 分钟收到课程提醒。
可以发送"今日课程"查看今天的课程,发送"查看时间表"查看本校的时间表,
或者发送"修改提前提醒时间"来修改课程提醒时间。
""".trimIndent())
coursesDTO.value.data.lessonList.run {
if(isNotEmpty()) {
Database.query { forEach { e -> courseTable.insert { crs ->
crs[courseId] = e.courseId
crs[courseName] = e.name
crs[teacherName] = e.teacher
crs[locale] = e.locale
crs[whichDayOfWeek] = e.day
crs[sectionStart] = e.sectionstart
crs[sectionEnd] = e.sectionend
crs[weekPeriod] = e.smartPeriod
crs[beginYear] = TimeProviderService.currentSemesterBeginYear
crs[semester] = TimeProviderService.currentSemester
} } }
info("Sync user ${request.qq}'s courses successfully.")
ScheduleListenerService.restartUserNotification(request.qq)
BotEventRouteService.sendMessageNonBlock(request.qq,"""
课程同步成功!
你将在每节课上课前 ${PluginData.advancedTipOffset[request.qq] ?: PluginConfig.advancedTipTime} 分钟收到课程提醒。
可以发送"今日课程"查看今天的课程,发送"查看时间表"查看本校的时间表,
或者发送"修改提前提醒时间"来修改课程提醒时间。
""".trimIndent())
} else {
warning("Failed to sync user ${request.qq}'s courses, reason: get empty list from server.")
BotEventRouteService.sendMessageNonBlock(request.qq,"""
无法同步课程,从服务器中获取了空的课程列表。
请确保 ${TimeProviderService.currentSemesterBeginYear} 学年第 ${TimeProviderService.currentSemester} 学期的课表已添加进超级课表。
查看超级课表 app,若无课表,请先在超级课表 app 中同步教务系统的课表。。
""".trimIndent())
}
}
}
is Either.Right -> {
error("Failed to sync user ${request.qq}'s courses, reason: ${coursesDTO.value.message}.")
Expand Down

0 comments on commit 0c1d050

Please sign in to comment.