From 556cbd88769418b8d071e9d8ce899789da4fc47d Mon Sep 17 00:00:00 2001 From: Juhye0k Date: Sun, 3 May 2026 17:29:08 +0900 Subject: [PATCH] =?UTF-8?q?refactor=20:=20=EA=B3=B5=EB=B6=80=20=EC=8B=9C?= =?UTF-8?q?=EC=9E=91=EC=8B=9C=20=EC=8B=9C=EC=9E=91=20=EC=8B=9C=EA=B0=84=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../study/dto/response/StudySessionResponse.java | 8 +++++--- .../study/service/StudySessionService.java | 7 +++++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/gpt/geumpumtabackend/study/dto/response/StudySessionResponse.java b/src/main/java/com/gpt/geumpumtabackend/study/dto/response/StudySessionResponse.java index d012a5b..8a61578 100644 --- a/src/main/java/com/gpt/geumpumtabackend/study/dto/response/StudySessionResponse.java +++ b/src/main/java/com/gpt/geumpumtabackend/study/dto/response/StudySessionResponse.java @@ -1,8 +1,10 @@ package com.gpt.geumpumtabackend.study.dto.response; -public record StudySessionResponse(Long totalStudySession, boolean isStudying) { +import java.time.LocalDateTime; - public static StudySessionResponse of(Long totalStudySession, boolean isStudying) { - return new StudySessionResponse(totalStudySession, isStudying); +public record StudySessionResponse(Long totalStudySession, boolean isStudying, LocalDateTime startTime) { + + public static StudySessionResponse of(Long totalStudySession, boolean isStudying, LocalDateTime startTime) { + return new StudySessionResponse(totalStudySession, isStudying, startTime); } } diff --git a/src/main/java/com/gpt/geumpumtabackend/study/service/StudySessionService.java b/src/main/java/com/gpt/geumpumtabackend/study/service/StudySessionService.java index 0fdea44..d2e9545 100644 --- a/src/main/java/com/gpt/geumpumtabackend/study/service/StudySessionService.java +++ b/src/main/java/com/gpt/geumpumtabackend/study/service/StudySessionService.java @@ -41,9 +41,12 @@ public class StudySessionService { public StudySessionResponse getTodayStudySession(Long userId) { LocalDateTime startOfDay = LocalDate.now().atStartOfDay(); LocalDateTime now = LocalDateTime.now(); - boolean isStudying = studySessionRepository.findByUser_IdAndStatus(userId, StudyStatus.STARTED).isPresent(); + StudySession activeSession = studySessionRepository.findByUser_IdAndStatus(userId, StudyStatus.STARTED) + .orElse(null); + boolean isStudying = activeSession != null; + LocalDateTime startTime = isStudying ? activeSession.getStartTime() : null; Long totalStudySession = studySessionRepository.sumCompletedStudySessionByUserId(userId, startOfDay, now); - return StudySessionResponse.of(totalStudySession,isStudying); + return StudySessionResponse.of(totalStudySession, isStudying, startTime); } /*