1919import grep .neogulcoder .global .exception .business .BusinessException ;
2020import grep .neogulcoder .global .exception .business .NotFoundException ;
2121import grep .neogulcoder .global .provider .finder .MessageFinder ;
22+
2223import java .util .List ;
24+
2325import lombok .RequiredArgsConstructor ;
2426import org .springframework .context .event .EventListener ;
2527import org .springframework .stereotype .Service ;
@@ -45,33 +47,47 @@ public void saveAlarm(Long receiverId, AlarmType alarmType, DomainType domainTyp
4547 alarmRepository .save (Alarm .init (alarmType , receiverId , domainType , domainId , message ));
4648 }
4749
48- public List <AlarmResponse > getAllAlarms (Long receiverUserId ) {
50+ public List <AlarmResponse > getAllUncheckedAlarms (Long receiverUserId ) {
4951 return alarmRepository .findAllByReceiverUserIdAndCheckedFalse (receiverUserId ).stream ()
50- .map (alarm -> AlarmResponse .toResponse (
51- alarm .getId (),
52- alarm .getReceiverUserId (),
53- alarm .getAlarmType (),
54- alarm .getDomainType (),
55- alarm .getDomainId (),
56- alarm .getMessage ()))
57- .toList ();
52+ .map (alarm -> AlarmResponse .toResponse (
53+ alarm .getId (),
54+ alarm .getReceiverUserId (),
55+ alarm .getAlarmType (),
56+ alarm .getDomainType (),
57+ alarm .getDomainId (),
58+ alarm .getMessage (),
59+ alarm .isChecked ()))
60+ .toList ();
61+ }
62+
63+ public List <AlarmResponse > getAllAlarms (Long receiverUserId ) {
64+ return alarmRepository .findAllByReceiverUserId (receiverUserId ).stream ()
65+ .map (alarm -> AlarmResponse .toResponse (
66+ alarm .getId (),
67+ alarm .getReceiverUserId (),
68+ alarm .getAlarmType (),
69+ alarm .getDomainType (),
70+ alarm .getDomainId (),
71+ alarm .getMessage (),
72+ alarm .isChecked ()))
73+ .toList ();
5874 }
5975
6076 @ Transactional
61- public void checkAllAlarm (Long receiverUserId ) {
77+ public void checkAllAlarmWithoutInvite (Long receiverUserId ) {
6278 List <Alarm > alarms = alarmRepository .findAllByReceiverUserIdAndCheckedFalse (receiverUserId );
6379 alarms .stream ()
64- .filter (alarm -> alarm .getAlarmType () != AlarmType .INVITE )
65- .forEach (Alarm ::checkAlarm );
80+ .filter (alarm -> alarm .getAlarmType () != AlarmType .INVITE )
81+ .forEach (Alarm ::checkAlarm );
6682 }
6783
6884 @ EventListener
6985 public void handleStudyInviteEvent (StudyInviteEvent event ) {
7086 saveAlarm (
71- event .targetUserId (),
72- AlarmType .INVITE ,
73- DomainType .STUDY ,
74- event .studyId ()
87+ event .targetUserId (),
88+ AlarmType .INVITE ,
89+ DomainType .STUDY ,
90+ event .studyId ()
7591 );
7692 }
7793
@@ -83,7 +99,7 @@ public void acceptInvite(Long targetUserId, Long alarmId) {
8399 Alarm alarm = findValidAlarm (alarmId );
84100 Long studyId = alarm .getDomainId ();
85101 Study study = findValidStudy (studyId );
86- StudyMember .createMember (study ,targetUserId );
102+ StudyMember .createMember (study , targetUserId );
87103 alarm .checkAlarm ();
88104 }
89105
@@ -100,10 +116,10 @@ public void handleStudyExtendEvent(StudyExtendEvent event) {
100116 for (StudyMember member : members ) {
101117 if (!member .isLeader ()) {
102118 saveAlarm (
103- member .getUserId (),
104- AlarmType .STUDY_EXTEND ,
105- DomainType .STUDY ,
106- event .studyId ()
119+ member .getUserId (),
120+ AlarmType .STUDY_EXTEND ,
121+ DomainType .STUDY ,
122+ event .studyId ()
107123 );
108124 }
109125 }
@@ -112,13 +128,13 @@ public void handleStudyExtendEvent(StudyExtendEvent event) {
112128 @ EventListener
113129 public void handleStudyExtensionReminderEvent (StudyExtensionReminderEvent event ) {
114130 StudyMember leader = studyMemberRepository .findByStudyIdAndRoleAndActivatedTrue (event .studyId (), StudyMemberRole .LEADER )
115- .orElseThrow (() -> new BusinessException (STUDY_LEADER_NOT_FOUND ));
131+ .orElseThrow (() -> new BusinessException (STUDY_LEADER_NOT_FOUND ));
116132
117133 saveAlarm (
118- leader .getUserId (),
119- AlarmType .STUDY_EXTENSION_REMINDER ,
120- DomainType .STUDY ,
121- event .studyId ()
134+ leader .getUserId (),
135+ AlarmType .STUDY_EXTENSION_REMINDER ,
136+ DomainType .STUDY ,
137+ event .studyId ()
122138 );
123139 }
124140
@@ -144,7 +160,7 @@ private Alarm findValidAlarm(Long alarmId) {
144160
145161 private Study findValidStudy (Long studyId ) {
146162 return studyRepository .findById (studyId )
147- .orElseThrow (() -> new NotFoundException (STUDY_NOT_FOUND ));
163+ .orElseThrow (() -> new NotFoundException (STUDY_NOT_FOUND ));
148164 }
149165
150166 private void validateParticipantStudyLimit (Long userId ) {
0 commit comments