From 1f87a4056558fd57a3cf24322a00ea6f026e531b Mon Sep 17 00:00:00 2001 From: gikhoon Date: Wed, 21 Aug 2024 12:19:36 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EC=84=B8=EC=85=98=20=EC=88=98=EC=A0=95?= =?UTF-8?q?=20=EC=8B=9C=20=EC=B6=9C=EC=84=9D=20=EC=A0=95=EB=B3=B4=EA=B0=80?= =?UTF-8?q?=20=EC=97=86=EC=9D=84=20=EB=95=8C=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../csquiz/api/session/dto/UpdateSessionRequest.java | 10 ++++++++++ .../domain/generation/service/SessionService.java | 3 ++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/cotato/csquiz/api/session/dto/UpdateSessionRequest.java b/src/main/java/org/cotato/csquiz/api/session/dto/UpdateSessionRequest.java index bde86c08..c1608383 100644 --- a/src/main/java/org/cotato/csquiz/api/session/dto/UpdateSessionRequest.java +++ b/src/main/java/org/cotato/csquiz/api/session/dto/UpdateSessionRequest.java @@ -1,6 +1,10 @@ package org.cotato.csquiz.api.session.dto; +import static org.cotato.csquiz.domain.attendance.enums.DeadLine.DEFAULT_ATTENDANCE_DEADLINE; +import static org.cotato.csquiz.domain.attendance.enums.DeadLine.DEFAULT_LATE_DEADLINE; + import java.time.LocalDate; +import java.util.Objects; import org.cotato.csquiz.api.attendance.dto.AttendanceDeadLineDto; import org.cotato.csquiz.domain.attendance.embedded.Location; import org.cotato.csquiz.domain.generation.enums.CSEducation; @@ -28,4 +32,10 @@ public record UpdateSessionRequest( @NotNull DevTalk devTalk ) { + public UpdateSessionRequest { + if (Objects.isNull(attendTime)) { + attendTime = new AttendanceDeadLineDto(DEFAULT_ATTENDANCE_DEADLINE.getTime(), + DEFAULT_LATE_DEADLINE.getTime()); + } + } } diff --git a/src/main/java/org/cotato/csquiz/domain/generation/service/SessionService.java b/src/main/java/org/cotato/csquiz/domain/generation/service/SessionService.java index 18dacacd..e0aef929 100644 --- a/src/main/java/org/cotato/csquiz/domain/generation/service/SessionService.java +++ b/src/main/java/org/cotato/csquiz/domain/generation/service/SessionService.java @@ -131,6 +131,7 @@ public void updateSessionDate(Session session, LocalDate newDate, AttendanceDead Attendance findAttendance = attendanceRepository.findBySessionId(session.getId()) .orElseThrow(() -> new EntityNotFoundException("해당 세션의 출석이 존재하지 않습니다")); + // 날짜가 바뀌지 않았고, 출결 시간이 모두 동일한 경우 if (newDate.equals(session.getSessionDate()) && findAttendance.getAttendanceDeadLine().toLocalTime().equals(newDeadline.attendanceDeadLine()) && @@ -140,7 +141,7 @@ public void updateSessionDate(Session session, LocalDate newDate, AttendanceDead session.updateSessionDate(newDate); LocalDateTime newAttendanceDeadline = LocalDateTime.of(newDate, newDeadline.attendanceDeadLine()); - LocalDateTime newLateDeadline = LocalDateTime.of(newDate, newDeadline.attendanceDeadLine()); + LocalDateTime newLateDeadline = LocalDateTime.of(newDate, newDeadline.lateDeadLine()); findAttendance.updateDeadLine(newAttendanceDeadline, newLateDeadline); attendanceRecordService.updateAttendanceStatus(findAttendance);