diff --git a/src/main/java/com/assu/server/domain/chat/controller/ChatController.java b/src/main/java/com/assu/server/domain/chat/controller/ChatController.java index e29d822..9395a09 100644 --- a/src/main/java/com/assu/server/domain/chat/controller/ChatController.java +++ b/src/main/java/com/assu/server/domain/chat/controller/ChatController.java @@ -4,6 +4,10 @@ import com.assu.server.domain.chat.repository.MessageRepository; import com.assu.server.domain.chat.service.BlockService; import com.assu.server.domain.chat.service.ChatService; +import com.assu.server.domain.common.enums.UserRole; +import com.assu.server.domain.member.entity.Member; +import com.assu.server.domain.member.repository.MemberRepository; +import com.assu.server.domain.notification.service.NotificationCommandService; import com.assu.server.global.apiPayload.code.status.SuccessStatus; import com.assu.server.global.util.PresenceTracker; import com.assu.server.global.util.PrincipalDetails; @@ -28,7 +32,9 @@ public class ChatController { private final SimpMessagingTemplate simpMessagingTemplate; private final PresenceTracker presenceTracker; private final MessageRepository messageRepository; + private final MemberRepository memberRepository; private final BlockService blockService; + private final NotificationCommandService notificationCommandService; @Operation( summary = "채팅방을 생성하는 API", @@ -92,6 +98,15 @@ public void handleMessage(@Payload ChatRequestDTO.ChatMessageRequestDTO request) "/queue/updates", updateDTO ); + Member sender = memberRepository.findById(request.getSenderId()).orElse(null); + String senderName = ""; + if (sender.getRole()== UserRole.ADMIN) { + senderName = sender.getAdminProfile().getName(); + } else { + senderName = sender.getPartnerProfile().getName(); + } + + notificationCommandService.sendChat(request.getReceiverId(), request.getRoomId(), senderName, request.getMessage()); } } diff --git a/src/main/java/com/assu/server/domain/chat/service/ChatServiceImpl.java b/src/main/java/com/assu/server/domain/chat/service/ChatServiceImpl.java index 3c50bdf..14bc8e3 100644 --- a/src/main/java/com/assu/server/domain/chat/service/ChatServiceImpl.java +++ b/src/main/java/com/assu/server/domain/chat/service/ChatServiceImpl.java @@ -14,6 +14,7 @@ import com.assu.server.domain.member.entity.Member; import com.assu.server.domain.common.enums.ActivationStatus; import com.assu.server.domain.member.repository.MemberRepository; +import com.assu.server.domain.notification.service.NotificationCommandService; import com.assu.server.domain.partner.entity.Partner; import com.assu.server.domain.partner.repository.PartnerRepository; import com.assu.server.domain.store.entity.Store; @@ -40,6 +41,7 @@ public class ChatServiceImpl implements ChatService { private final MessageRepository messageRepository; private final StoreRepository storeRepository; private final SimpMessagingTemplate simpMessagingTemplate; + private final NotificationCommandService notificationCommandService; @Override @@ -126,6 +128,7 @@ public ChatResponseDTO.SendMessageResponseDTO sendGuideMessage(ChatRequestDTO.Ch ChatResponseDTO.SendMessageResponseDTO responseDTO = ChatConverter.toSendMessageDTO(saved); simpMessagingTemplate.convertAndSend("/sub/chat/" + request.getRoomId(), responseDTO); + notificationCommandService.sendChat(receiver.getId(), room.getId(), sender.getAdminProfile().getName(), "제안서 초안이 도착했습니다. 확인해 주세요"); return responseDTO; } diff --git a/src/main/java/com/assu/server/domain/partnership/service/PartnershipServiceImpl.java b/src/main/java/com/assu/server/domain/partnership/service/PartnershipServiceImpl.java index 17e171a..3557eb5 100644 --- a/src/main/java/com/assu/server/domain/partnership/service/PartnershipServiceImpl.java +++ b/src/main/java/com/assu/server/domain/partnership/service/PartnershipServiceImpl.java @@ -313,7 +313,7 @@ public PartnershipResponseDTO.UpdateResponseDTO updatePartnershipStatus(Long par chatService.sendGuideMessage(guideMessageRequest); } else if (next.equals(ActivationStatus.ACTIVE)) { - String guideMessage = "축하드립니다!\n" +admin.getName() + "님이 동의했습니다! 제휴 계약서를 다시한번 확인해 보세요!"; + String guideMessage = "축하드립니다!\n" + "제휴 계약이 성립되었습니다. 제휴 계약서를 다시한번 확인해 보세요!"; ChatRequestDTO.ChatMessageRequestDTO guideMessageRequest = new ChatRequestDTO.ChatMessageRequestDTO( chattingRoom.getId(), adminId,