diff --git a/src/main/java/com/balybus/galaxy/chat/controller/ChatSocketController.java b/src/main/java/com/balybus/galaxy/chat/controller/ChatSocketController.java index 250e6650..2ed34d88 100644 --- a/src/main/java/com/balybus/galaxy/chat/controller/ChatSocketController.java +++ b/src/main/java/com/balybus/galaxy/chat/controller/ChatSocketController.java @@ -35,10 +35,20 @@ public void sendPrivateMessage(ChatMsgRequestDto.SendPrivateMessage message, @He try { ChatMsgResponseDto.SendPrivateMessage responseDto = chatService.saveMessage(message, sender); //채팅 데이터 DB 저장 messagingTemplate.convertAndSendToUser(responseDto.getReceiverMail(), "/queue/private", responseDto); //받는사람에게 채팅 전송 - messagingTemplate.convertAndSendToUser(sender, "/queue/success", "SUCCESS"); //보낸사람에게 채팅 전송 성공여부 전송 + messagingTemplate.convertAndSendToUser(sender, "/queue/success", + ChatMsgResponseDto.resultNotice.builder() + .code(200) + .msg("SUCCESS") + .successSepCode(message.getSuccessSepCode()) + .build()); //보낸사람에게 채팅 전송 성공여부 전송 } catch (Exception e) { // 예외가 발생한 경우 메시지를 보낸 사람에게 에러 메시지를 보냄 - messagingTemplate.convertAndSendToUser(sender, "/queue/error", "Error occurred: " + e.getMessage()); + messagingTemplate.convertAndSendToUser(sender, "/queue/error", + ChatMsgResponseDto.resultNotice.builder() + .code(400) + .msg(e.getMessage()) + .successSepCode(message.getSuccessSepCode()) + .build()); } } } diff --git a/src/main/java/com/balybus/galaxy/chat/dto/ChatMsgRequestDto.java b/src/main/java/com/balybus/galaxy/chat/dto/ChatMsgRequestDto.java index e4892d85..24ee21ef 100644 --- a/src/main/java/com/balybus/galaxy/chat/dto/ChatMsgRequestDto.java +++ b/src/main/java/com/balybus/galaxy/chat/dto/ChatMsgRequestDto.java @@ -9,6 +9,8 @@ public static class SendPrivateMessage { private Long receiverId; private Long patientLogId; private String content; + + private String successSepCode; } @Data diff --git a/src/main/java/com/balybus/galaxy/chat/dto/ChatMsgResponseDto.java b/src/main/java/com/balybus/galaxy/chat/dto/ChatMsgResponseDto.java index 84ce3cc6..d5e3731f 100644 --- a/src/main/java/com/balybus/galaxy/chat/dto/ChatMsgResponseDto.java +++ b/src/main/java/com/balybus/galaxy/chat/dto/ChatMsgResponseDto.java @@ -7,6 +7,14 @@ import java.util.List; public class ChatMsgResponseDto { + @Getter + @Builder + public static class resultNotice { + private int code; + private String msg; + private String successSepCode; + } + @Getter @Builder public static class SendPrivateMessage { diff --git a/src/main/resources/templates/chat/chatTestA.html b/src/main/resources/templates/chat/chatTestA.html index 3cabcbfc..788eda53 100644 --- a/src/main/resources/templates/chat/chatTestA.html +++ b/src/main/resources/templates/chat/chatTestA.html @@ -68,8 +68,9 @@

WebSocket Test

const message = { content: document.getElementById("textMsg").value, senderId: chatSenderId, // 메시지를 보낼 사용자 - receiverId: document.getElementById("receiverId").value, // 메시지를 받을 사용자 - patientLogId: document.getElementById("patientId").value // 메시지를 환자 + receiverId: document.getElementById("receiverId").value, // 메시지를 받을 사용자 + patientLogId: document.getElementById("patientId").value, // 메시지를 환자 + successSepCode: "123456789" }; messageContainer.innerHTML += `

보낸 개인 메시지: ${message.content}

`; stompClient.send("/app/private-message", {}, JSON.stringify(message)); // private-message 엔드포인트로 메시지 전송 diff --git a/src/main/resources/templates/chat/chatTestB.html b/src/main/resources/templates/chat/chatTestB.html index 7e4d8efe..b291175d 100644 --- a/src/main/resources/templates/chat/chatTestB.html +++ b/src/main/resources/templates/chat/chatTestB.html @@ -69,7 +69,8 @@

WebSocket Test

content: document.getElementById("textMsg").value, senderId: chatSenderId, // 메시지를 보낼 사용자 receiverId: document.getElementById("receiverId").value, // 메시지를 받을 사용자 - patientLogId: document.getElementById("patientId").value // 메시지를 환자 + patientLogId: document.getElementById("patientId").value, // 메시지를 환자 + successSepCode: "123456789" }; messageContainer.innerHTML += `

보낸 개인 메시지: ${message.content}

`; stompClient.send("/app/private-message", {}, JSON.stringify(message)); // private-message 엔드포인트로 메시지 전송