diff --git a/src/main/java/com/example/konnect_backend/domain/message/controller/MessageController.java b/src/main/java/com/example/konnect_backend/domain/message/controller/MessageController.java index e8e9f3d..d020cee 100644 --- a/src/main/java/com/example/konnect_backend/domain/message/controller/MessageController.java +++ b/src/main/java/com/example/konnect_backend/domain/message/controller/MessageController.java @@ -45,13 +45,13 @@ public ResponseEntity> composeMessage( @GetMapping("/history") @Operation(summary = "메시지 번역 히스토리 조회", description = "현재 로그인한 사용자의 메시지 번역 히스토리를 조회합니다.") - public ResponseEntity>> getMessageHistory() { + public ResponseEntity> getMessageHistory() { try { log.info("메시지 히스토리 조회 요청"); - List history = messageTranslationService.getMessageHistory(); + MessageHistoryResponse history = messageTranslationService.getMessageHistory(); - log.info("메시지 히스토리 조회 완료: 총 {}건", history.size()); + log.info("메시지 히스토리 조회 완료: 총 {}건", history.getTotalCount()); return ResponseEntity.ok(ApiResponse.onSuccess(history)); diff --git a/src/main/java/com/example/konnect_backend/domain/message/dto/response/MessageHistoryResponse.java b/src/main/java/com/example/konnect_backend/domain/message/dto/response/MessageHistoryResponse.java index b884538..f4b6a16 100644 --- a/src/main/java/com/example/konnect_backend/domain/message/dto/response/MessageHistoryResponse.java +++ b/src/main/java/com/example/konnect_backend/domain/message/dto/response/MessageHistoryResponse.java @@ -7,6 +7,7 @@ import lombok.NoArgsConstructor; import java.time.LocalDateTime; +import java.util.List; @Getter @Builder @@ -14,10 +15,19 @@ @AllArgsConstructor public class MessageHistoryResponse { - private Long id; - private String inputPrompt; - private String generatedKorean; + @Getter + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class MessageHistoryItem { + private Long id; + private String inputPrompt; + private String generatedKorean; - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createdAt; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createdAt; + } + + private List histories; + private int totalCount; } diff --git a/src/main/java/com/example/konnect_backend/domain/message/service/MessageTranslationService.java b/src/main/java/com/example/konnect_backend/domain/message/service/MessageTranslationService.java index 2d1de37..273db33 100644 --- a/src/main/java/com/example/konnect_backend/domain/message/service/MessageTranslationService.java +++ b/src/main/java/com/example/konnect_backend/domain/message/service/MessageTranslationService.java @@ -112,7 +112,7 @@ public MessageComposeResponse translateMessage(MessageComposeRequest request) { * 현재 로그인한 사용자의 메시지 번역 히스토리 조회 */ @Transactional(readOnly = true) - public List getMessageHistory() { + public MessageHistoryResponse getMessageHistory() { // 현재 로그인한 사용자 조회 Long userId = SecurityUtil.getCurrentUserIdOrNull(); if (userId == null) { @@ -131,14 +131,19 @@ public List getMessageHistory() { log.info("조회된 메시지 개수: {}", messages.size()); // DTO로 변환 - return messages.stream() - .map(message -> MessageHistoryResponse.builder() + List historyItems = messages.stream() + .map(message -> MessageHistoryResponse.MessageHistoryItem.builder() .id(message.getId()) .inputPrompt(message.getInputPrompt()) .generatedKorean(message.getGeneratedKorean()) .createdAt(message.getCreatedAt()) .build()) .collect(Collectors.toList()); + + return MessageHistoryResponse.builder() + .histories(historyItems) + .totalCount(historyItems.size()) + .build(); } private String determineTargetLanguage(MessageComposeRequest request, User user) {