@@ -10,12 +10,13 @@ import com.wafflestudio.snutt.common.exception.WrongSemesterException
1010import com.wafflestudio.snutt.lectures.repository.LectureRepository
1111import com.wafflestudio.snutt.lectures.utils.ClassTimeUtils
1212import com.wafflestudio.snutt.theme.service.TimetableThemeService
13- import com.wafflestudio.snutt.timetablelecturereminder.service.TimetableLectureReminderService
1413import com.wafflestudio.snutt.timetables.data.Timetable
1514import com.wafflestudio.snutt.timetables.data.TimetableLecture
1615import com.wafflestudio.snutt.timetables.dto.request.CustomTimetableLectureAddLegacyRequestDto
1716import com.wafflestudio.snutt.timetables.dto.request.TimetableLectureModifyLegacyRequestDto
17+ import com.wafflestudio.snutt.timetables.event.data.TimetableLectureModifiedEvent
1818import com.wafflestudio.snutt.timetables.repository.TimetableRepository
19+ import org.springframework.context.ApplicationEventPublisher
1920import org.springframework.stereotype.Service
2021
2122interface TimetableLectureService {
@@ -58,9 +59,9 @@ interface TimetableLectureService {
5859@Service
5960class TimetableLectureServiceImpl (
6061 private val timetableThemeService : TimetableThemeService ,
61- private val timetableLectureReminderService : TimetableLectureReminderService ,
6262 private val timetableRepository : TimetableRepository ,
6363 private val lectureRepository : LectureRepository ,
64+ private val eventPublisher : ApplicationEventPublisher ,
6465) : TimetableLectureService {
6566 override suspend fun addLecture (
6667 userId : String ,
@@ -116,8 +117,9 @@ class TimetableLectureServiceImpl(
116117 categoryPre2025 = originalLecture.categoryPre2025
117118 }
118119 resolveTimeConflict(timetable, timetableLecture, isForced)
119- timetableLectureReminderService.updateScheduleIfNeeded(timetableLecture)
120- return timetableRepository.updateTimetableLecture(timetableId, timetableLecture)
120+ val updatedTimetable = timetableRepository.updateTimetableLecture(timetableId, timetableLecture)
121+ eventPublisher.publishEvent(TimetableLectureModifiedEvent (timetableLecture))
122+ return updatedTimetable
121123 }
122124
123125 override suspend fun modifyTimetableLecture (
@@ -147,8 +149,9 @@ class TimetableLectureServiceImpl(
147149 categoryPre2025 = modifyTimetableLectureRequestDto.categoryPre2025 ? : categoryPre2025
148150 }
149151 resolveTimeConflict(timetable, timetableLecture, isForced)
150- timetableLectureReminderService.updateScheduleIfNeeded(timetableLecture)
151- return timetableRepository.updateTimetableLecture(timetableId, timetableLecture)
152+ val updatedTimetable = timetableRepository.updateTimetableLecture(timetableId, timetableLecture)
153+ eventPublisher.publishEvent(TimetableLectureModifiedEvent (timetableLecture))
154+ return updatedTimetable
152155 }
153156
154157 override suspend fun deleteTimetableLecture (
0 commit comments