Skip to content

Commit

Permalink
Merge pull request #57 from Plick-pop-in/feat/chatdetail/#2
Browse files Browse the repository at this point in the history
[feat/chatdetail/#2] 채팅 스크린 부분 수정 (일정기준(오늘)에 해당되는 메시지 모두 반환 + 닉네임 관련)
  • Loading branch information
yeriinnn authored Jun 14, 2024
2 parents e779662 + c12141c commit 31ab8cc
Show file tree
Hide file tree
Showing 3 changed files with 73 additions and 41 deletions.
67 changes: 37 additions & 30 deletions .idea/workspace.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,22 @@ public class ChatMessageDto {
@JsonProperty("time")
private String time;

@JsonProperty("id") // ID 필드 추가
@JsonProperty("id")
private String id;

public void setId(String id) {
this.id = id;
}

public String getTime() {
return time;
}

public void setTime(String time) {
this.time = time;
}

// 다른 필드들의 getter, setter, toString 등은 생략

@Override
public String toString() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@
import org.springframework.stereotype.Controller;
import com.soongsil.poppin.userchat.application.ChatMessageDto;
import com.fasterxml.jackson.core.JsonProcessingException;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.util.UUID;

@Controller
Expand All @@ -20,21 +24,33 @@ public LiveChatController(ObjectMapper objectMapper, SimpMessagingTemplate messa
}

@MessageMapping("/chat.sendMessage")
public void sendMessage(String messageJson) throws JsonProcessingException {
System.out.println("받은 메시지: " + messageJson);
ChatMessageDto chatMessageDto = objectMapper.readValue(messageJson, ChatMessageDto.class);
public void sendMessage(String messageJson) {
try {
System.out.println("받은 메시지 JSON: " + messageJson);

// UUID 생성
String id = UUID.randomUUID().toString();
chatMessageDto.setId(id);
// 형식 변환
ChatMessageDto chatMessageDto = objectMapper.readValue(messageJson, ChatMessageDto.class);

// 보낸 메시지에 대한 로그
System.out.println("보낸 메시지: " + chatMessageDto);
// 아이디 세팅
String id = UUID.randomUUID().toString();
chatMessageDto.setId(id);

// 받은 메시지를 다시 클라이언트에게 보냄
messagingTemplate.convertAndSend("/sub/public", chatMessageDto);
// 형식변환
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
LocalDateTime time = LocalDateTime.parse(chatMessageDto.getTime(), formatter);
chatMessageDto.setTime(time.toString());

System.out.println("보낸 메시지: " + chatMessageDto);


messagingTemplate.convertAndSend("/sub/public", chatMessageDto);
} catch (JsonProcessingException | DateTimeParseException e) {
System.err.println("메시지 처리 중 오류 발생: " + e.getMessage());
}
}



@MessageMapping("/chat.addUser")
public void addUser(String messageJson) throws JsonProcessingException {
System.out.println("받은 메시지: " + messageJson);
Expand Down

0 comments on commit 31ab8cc

Please sign in to comment.