Skip to content

Commit 52427c4

Browse files
committed
시간표 강의 삭제 시 강의리마인더 삭제하기
1 parent d2c8733 commit 52427c4

3 files changed

Lines changed: 15 additions & 1 deletion

File tree

core/src/main/kotlin/timetablelecturereminder/service/TimetableLectureReminderService.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import com.wafflestudio.snutt.common.util.SemesterUtils
77
import com.wafflestudio.snutt.timetablelecturereminder.data.TimetableLectureReminder
88
import com.wafflestudio.snutt.timetablelecturereminder.repository.TimetableLectureReminderRepository
99
import com.wafflestudio.snutt.timetables.data.Timetable
10+
import com.wafflestudio.snutt.timetables.event.data.TimetableLectureDeletedEvent
1011
import com.wafflestudio.snutt.timetables.event.data.TimetableLectureModifiedEvent
1112
import com.wafflestudio.snutt.timetables.repository.TimetableRepository
1213
import org.springframework.context.event.EventListener
@@ -113,4 +114,9 @@ class TimetableLectureReminderServiceImpl(
113114
}
114115
timetableLectureReminderRepository.save(reminder.copy(schedules = newSchedules))
115116
}
117+
118+
@EventListener
119+
suspend fun handleTimetableLectureDeletedEvent(event: TimetableLectureDeletedEvent) {
120+
deleteReminder(event.timetableLectureId)
121+
}
116122
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.wafflestudio.snutt.timetables.event.data
2+
3+
data class TimetableLectureDeletedEvent(
4+
val timetableLectureId: String,
5+
)

core/src/main/kotlin/timetables/service/TimetableLectureService.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import com.wafflestudio.snutt.timetables.data.Timetable
1414
import com.wafflestudio.snutt.timetables.data.TimetableLecture
1515
import com.wafflestudio.snutt.timetables.dto.request.CustomTimetableLectureAddLegacyRequestDto
1616
import com.wafflestudio.snutt.timetables.dto.request.TimetableLectureModifyLegacyRequestDto
17+
import com.wafflestudio.snutt.timetables.event.data.TimetableLectureDeletedEvent
1718
import com.wafflestudio.snutt.timetables.event.data.TimetableLectureModifiedEvent
1819
import com.wafflestudio.snutt.timetables.repository.TimetableRepository
1920
import org.springframework.context.ApplicationEventPublisher
@@ -160,7 +161,9 @@ class TimetableLectureServiceImpl(
160161
timetableLectureId: String,
161162
): Timetable {
162163
timetableRepository.findByUserIdAndId(userId, timetableId) ?: throw TimetableNotFoundException
163-
return timetableRepository.pullTimetableLecture(timetableId, timetableLectureId)
164+
val updatedTimetable = timetableRepository.pullTimetableLecture(timetableId, timetableLectureId)
165+
eventPublisher.publishEvent(TimetableLectureDeletedEvent(timetableLectureId))
166+
return updatedTimetable
164167
}
165168

166169
private suspend fun resolveTimeConflict(

0 commit comments

Comments
 (0)