diff --git a/src/main/java/com/moing/backend/domain/mission/application/service/MissionRemindAlarmUseCase.java b/src/main/java/com/moing/backend/domain/mission/application/service/MissionRemindAlarmUseCase.java index a9fb37f6..a946a6b0 100644 --- a/src/main/java/com/moing/backend/domain/mission/application/service/MissionRemindAlarmUseCase.java +++ b/src/main/java/com/moing/backend/domain/mission/application/service/MissionRemindAlarmUseCase.java @@ -1,6 +1,8 @@ package com.moing.backend.domain.mission.application.service; import com.moing.backend.domain.history.application.dto.response.MemberIdAndToken; +import com.moing.backend.domain.history.application.mapper.AlarmHistoryMapper; +import com.moing.backend.domain.history.application.service.SaveMultiAlarmHistoryUseCase; import com.moing.backend.domain.history.domain.entity.AlarmType; import com.moing.backend.domain.history.domain.entity.PagePath; import com.moing.backend.domain.member.domain.entity.Member; @@ -35,6 +37,9 @@ public class MissionRemindAlarmUseCase { private final MissionQueryService missionQueryService; private final ApplicationEventPublisher eventPublisher; + private final FcmService fcmService; + private final SaveMultiAlarmHistoryUseCase saveMultiAlarmHistoryUseCase; + String REMIND_NAME = "미션 리마인드"; @@ -49,8 +54,15 @@ public Boolean sendRemindMissionAlarm() { Optional> memberIdAndTokens = mapToMemberAndToken(remainMissionPeople); Optional> pushMemberIdAndToken = isPushMemberIdAndToken(remainMissionPeople); - eventPublisher.publishEvent(new MultiFcmEvent(title, message, pushMemberIdAndToken, memberIdAndTokens, - "",REMIND_NAME, AlarmType.REMIND, PagePath.MISSION_ALL_PTAH.getValue())); +// eventPublisher.publishEvent(new MultiFcmEvent(title, message, pushMemberIdAndToken, memberIdAndTokens, +// "",REMIND_NAME, AlarmType.REMIND, PagePath.MISSION_ALL_PTAH.getValue())); + + if (pushMemberIdAndToken.isPresent() && !pushMemberIdAndToken.get().isEmpty()) { + fcmService.sendMultipleDevices(new MultiRequest(pushMemberIdAndToken.get(), title,message, "",REMIND_NAME, AlarmType.REMIND, PagePath.MISSION_ALL_PTAH.getValue())); + } + if (memberIdAndTokens.isPresent() && !memberIdAndTokens.get().isEmpty()) { + saveMultiAlarmHistoryUseCase.saveAlarmHistories(AlarmHistoryMapper.getMemberIds(memberIdAndTokens.get()),"",title,message,REMIND_NAME, AlarmType.REMIND, PagePath.MISSION_ALL_PTAH.getValue()); + } return true; } diff --git a/src/main/java/com/moing/backend/domain/missionArchive/domain/repository/MissionArchiveCustomRepositoryImpl.java b/src/main/java/com/moing/backend/domain/missionArchive/domain/repository/MissionArchiveCustomRepositoryImpl.java index f373f849..331c3f57 100644 --- a/src/main/java/com/moing/backend/domain/missionArchive/domain/repository/MissionArchiveCustomRepositoryImpl.java +++ b/src/main/java/com/moing/backend/domain/missionArchive/domain/repository/MissionArchiveCustomRepositoryImpl.java @@ -426,6 +426,7 @@ public Optional> findHavingRemainMissionsByQuerydsl() { .from(teamMember) .join(mission) .on(teamMember.team.eq(mission.team), + teamMember.team.isDeleted.ne(true), ((mission.status.eq(MissionStatus.ONGOING).or(mission.status.eq(MissionStatus.WAIT))) .and(mission.type.eq(MissionType.ONCE))) .or(mission.status.eq(MissionStatus.ONGOING).and(mission.type.eq(MissionType.REPEAT))) @@ -438,8 +439,7 @@ public Optional> findHavingRemainMissionsByQuerydsl() { ) .groupBy(teamMember.member,mission,mission.number) .having(missionArchive.count().lt(mission.number), - teamMember.member.isDeleted.ne(true), - teamMember.team.isDeleted.ne(true)) + teamMember.member.isDeleted.ne(true)) .fetch());