@@ -111,26 +111,37 @@ object RequestHandlerService : AbstractPluginManagedService(Dispatchers.IO) {
111111 if (! user.empty()) {
112112 SuperCourseApiService .getCourses(request.cookieData).also { coursesDTO -> when (coursesDTO) {
113113 is Either .Left -> {
114- Database .query { coursesDTO.value.data.lessonList.forEach { e -> courseTable.insert { crs ->
115- crs[courseId] = e.courseId
116- crs[courseName] = e.name
117- crs[teacherName] = e.teacher
118- crs[locale] = e.locale
119- crs[whichDayOfWeek] = e.day
120- crs[sectionStart] = e.sectionstart
121- crs[sectionEnd] = e.sectionend
122- crs[weekPeriod] = e.smartPeriod
123- crs[beginYear] = TimeProviderService .currentSemesterBeginYear
124- crs[semester] = TimeProviderService .currentSemester
125- } } }
126- info(" Sync user ${request.qq} 's courses successfully." )
127- ScheduleListenerService .restartUserNotification(request.qq)
128- BotEventRouteService .sendMessageNonBlock(request.qq,"""
129- 课程同步成功!
130- 你将在每节课上课前 ${PluginData .advancedTipOffset[request.qq] ? : PluginConfig .advancedTipTime} 分钟收到课程提醒。
131- 可以发送"今日课程"查看今天的课程,发送"查看时间表"查看本校的时间表,
132- 或者发送"修改提前提醒时间"来修改课程提醒时间。
133- """ .trimIndent())
114+ coursesDTO.value.data.lessonList.run {
115+ if (isNotEmpty()) {
116+ Database .query { forEach { e -> courseTable.insert { crs ->
117+ crs[courseId] = e.courseId
118+ crs[courseName] = e.name
119+ crs[teacherName] = e.teacher
120+ crs[locale] = e.locale
121+ crs[whichDayOfWeek] = e.day
122+ crs[sectionStart] = e.sectionstart
123+ crs[sectionEnd] = e.sectionend
124+ crs[weekPeriod] = e.smartPeriod
125+ crs[beginYear] = TimeProviderService .currentSemesterBeginYear
126+ crs[semester] = TimeProviderService .currentSemester
127+ } } }
128+ info(" Sync user ${request.qq} 's courses successfully." )
129+ ScheduleListenerService .restartUserNotification(request.qq)
130+ BotEventRouteService .sendMessageNonBlock(request.qq,"""
131+ 课程同步成功!
132+ 你将在每节课上课前 ${PluginData .advancedTipOffset[request.qq] ? : PluginConfig .advancedTipTime} 分钟收到课程提醒。
133+ 可以发送"今日课程"查看今天的课程,发送"查看时间表"查看本校的时间表,
134+ 或者发送"修改提前提醒时间"来修改课程提醒时间。
135+ """ .trimIndent())
136+ } else {
137+ warning(" Failed to sync user ${request.qq} 's courses, reason: get empty list from server." )
138+ BotEventRouteService .sendMessageNonBlock(request.qq,"""
139+ 无法同步课程,从服务器中获取了空的课程列表。
140+ 请确保 ${TimeProviderService .currentSemesterBeginYear} 学年第 ${TimeProviderService .currentSemester} 学期的课表已添加进超级课表。
141+ 查看超级课表 app,若无课表,请先在超级课表 app 中同步教务系统的课表。。
142+ """ .trimIndent())
143+ }
144+ }
134145 }
135146 is Either .Right -> {
136147 error(" Failed to sync user ${request.qq} 's courses, reason: ${coursesDTO.value.message} ." )
0 commit comments