Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,13 @@ public ResponseEntity<ApiResponse<MessageComposeResponse>> composeMessage(

@GetMapping("/history")
@Operation(summary = "메시지 번역 히스토리 조회", description = "현재 로그인한 사용자의 메시지 번역 히스토리를 조회합니다.")
public ResponseEntity<ApiResponse<List<MessageHistoryResponse>>> getMessageHistory() {
public ResponseEntity<ApiResponse<MessageHistoryResponse>> getMessageHistory() {
try {
log.info("메시지 히스토리 조회 요청");

List<MessageHistoryResponse> history = messageTranslationService.getMessageHistory();
MessageHistoryResponse history = messageTranslationService.getMessageHistory();

log.info("메시지 히스토리 조회 완료: 총 {}건", history.size());
log.info("메시지 히스토리 조회 완료: 총 {}건", history.getTotalCount());

return ResponseEntity.ok(ApiResponse.onSuccess(history));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,27 @@
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.List;

@Getter
@Builder
@NoArgsConstructor
@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<MessageHistoryItem> histories;
private int totalCount;
}
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ public MessageComposeResponse translateMessage(MessageComposeRequest request) {
* 현재 로그인한 사용자의 메시지 번역 히스토리 조회
*/
@Transactional(readOnly = true)
public List<MessageHistoryResponse> getMessageHistory() {
public MessageHistoryResponse getMessageHistory() {
// 현재 로그인한 사용자 조회
Long userId = SecurityUtil.getCurrentUserIdOrNull();
if (userId == null) {
Expand All @@ -131,14 +131,19 @@ public List<MessageHistoryResponse> getMessageHistory() {
log.info("조회된 메시지 개수: {}", messages.size());

// DTO로 변환
return messages.stream()
.map(message -> MessageHistoryResponse.builder()
List<MessageHistoryResponse.MessageHistoryItem> 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) {
Expand Down