Refactor ChatLogDao to use Timestamp and update ChatMessageMapper with proper JSON serialization using Jackson.
This commit is contained in:
parent
1eb0aac97e
commit
04ca05cd14
|
|
@ -2,6 +2,9 @@ package com.alttd.altitudeweb.controllers.chat;
|
|||
|
||||
import com.alttd.altitudeweb.database.chat.ChatLogDao;
|
||||
import com.alttd.altitudeweb.model.ChatMessageDto;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
||||
import lombok.experimental.UtilityClass;
|
||||
|
||||
import java.time.Instant;
|
||||
|
|
@ -9,6 +12,8 @@ import java.util.UUID;
|
|||
|
||||
@UtilityClass
|
||||
public class ChatMessageMapper {
|
||||
private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper()
|
||||
.registerModule(new JavaTimeModule());
|
||||
|
||||
public ChatMessage fromDto(ChatMessageDto dto) {
|
||||
return ChatMessage.builder()
|
||||
|
|
@ -23,7 +28,7 @@ public class ChatMessageMapper {
|
|||
public ChatMessage fromDao(ChatLogDao dao) {
|
||||
return ChatMessage.builder()
|
||||
.uuid(UUID.fromString(dao.getUuid()))
|
||||
.timestamp(Instant.ofEpochMilli(dao.getTimeStamp()))
|
||||
.timestamp(dao.getTimeStamp().toInstant())
|
||||
.server(dao.getServer())
|
||||
.messageJson(dao.getMiniMessage())
|
||||
.notBlocked(!dao.isBlocked())
|
||||
|
|
@ -31,6 +36,10 @@ public class ChatMessageMapper {
|
|||
}
|
||||
|
||||
public static String toJson(ChatMessage chatMessage) {
|
||||
return "{\"uuid\":\"" + chatMessage.getUuid() + "\",\"timestamp\":\"" + chatMessage.getTimestamp() + "\",\"server\":\"" + chatMessage.getServer() + "\",\"messageJson\":\"" + chatMessage.getMessageJson() + "\",\"notBlocked\":\"" + chatMessage.isNotBlocked() + "\"}";
|
||||
try {
|
||||
return OBJECT_MAPPER.writeValueAsString(chatMessage);
|
||||
} catch (JsonProcessingException e) {
|
||||
throw new IllegalStateException("Failed to serialize ChatMessage to JSON: " + chatMessage.getUuid(), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,12 +3,14 @@ package com.alttd.altitudeweb.database.chat;
|
|||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
|
||||
@Builder
|
||||
@Getter
|
||||
public class ChatLogDao {
|
||||
|
||||
private final String uuid;
|
||||
private final long timeStamp;
|
||||
private final Timestamp timeStamp;
|
||||
private final String server;
|
||||
private final String miniMessage;
|
||||
private final boolean blocked;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user