Skip to content

Revert "[BE] SISC1-223 [FIX] 출석 세션 시간 변수 수정"#141

Merged
Kosw6 merged 1 commit intomainfrom
revert-140-SISC1-223-BE-출석-세션-시간-변수-수정
Nov 25, 2025

Hidden character warning

The head ref may contain hidden characters: "revert-140-SISC1-223-BE-\ucd9c\uc11d-\uc138\uc158-\uc2dc\uac04-\ubcc0\uc218-\uc218\uc815"
Merged

Revert "[BE] SISC1-223 [FIX] 출석 세션 시간 변수 수정"#141
Kosw6 merged 1 commit intomainfrom
revert-140-SISC1-223-BE-출석-세션-시간-변수-수정

Conversation

@Kosw6
Copy link
Collaborator

@Kosw6 Kosw6 commented Nov 25, 2025

Reverts #140

Summary by CodeRabbit

  • Refactor

    • 세션 시작 시간 표현을 시간에서 날짜/시간 형식으로 변경
    • 세션 시간 윈도우 단위를 분에서 초로 변경
    • 출석 관련 API 필드명 정리 및 통일
  • 문서

    • API 문서의 용어 및 설명 업데이트

✏️ Tip: You can customize this high-level summary in your review settings.

@Kosw6 Kosw6 requested a review from discipline24 as a code owner November 25, 2025 06:32
@coderabbitai
Copy link

coderabbitai bot commented Nov 25, 2025

Caution

Review failed

The pull request is closed.

워크스루(Walkthrough)

출석 관리 시스템의 시간 표현 방식을 LocalTime/분 단위에서 LocalDateTime/초 단위로 변경하고, AttendanceRound 및 AttendanceSession DTO의 필드명을 재정의했습니다. 관련 엔티티, 서비스, 컨트롤러, 테스트가 일관되게 업데이트되었습니다.

Changes

코호트 / 파일 변경 요약
AttendanceRound DTO 및 컨트롤러
backend/src/main/java/org/sejongisc/backend/attendance/dto/AttendanceRound{Request,Response}.java, backend/src/main/java/org/sejongisc/backend/attendance/controller/AttendanceRoundController.java
필드명 변경: dateroundDate, availableMinutesallowedMinutes. 로깅 및 JSON 매핑 업데이트됨.
AttendanceSession DTO 및 서비스
backend/src/main/java/org/sejongisc/backend/attendance/dto/AttendanceSessionRequest.java, backend/src/main/java/org/sejongisc/backend/attendance/service/AttendanceSessionService.java
시간 표현 변경: defaultStartTime(LocalTime)startsAt(LocalDateTime), defaultAvailableMinutes(분)windowSeconds(초). 응답 DTO에 defaultStartTime, defaultAvailableMinutes 필드 추가됨.
AttendanceSession 엔티티
backend/src/main/java/org/sejongisc/backend/attendance/entity/AttendanceSession.java
컬럼 및 필드 변경: default_start_timestarts_at(LocalDateTime), default_available_minuteswindow_seconds(초). 메서드 추가: calculateCurrentStatus(), getEndsAt(), getRemainingSeconds().
Attendance 엔티티
backend/src/main/java/org/sejongisc/backend/attendance/entity/Attendance.java
isLate() 메서드 로직 변경: 라운드 기반에서 세션의 startsAt 기반으로 변경.
AttendanceRoundService
backend/src/main/java/org/sejongisc/backend/attendance/service/AttendanceRoundService.java
필드명 업데이트: request.getDate()request.getRoundDate(), request.getAvailableMinutes()request.getAllowedMinutes().
AttendanceService
backend/src/main/java/org/sejongisc/backend/attendance/service/AttendanceService.java
액티브 라운드 발견 로직 제거, 세션 기반 시간 검증으로 변경. startsAtendsAt 시간 범위 확인 추가.
AttendanceSessionController
backend/src/main/java/org/sejongisc/backend/attendance/controller/AttendanceSessionController.java
API 문서 업데이트: 용어 변경 "기본 시작 시간 및 출석 인정 시간" → "시간 윈도우", 편집 가능 필드 목록 수정.
테스트 파일
backend/src/test/java/org/sejongisc/backend/attendance/controller/AttendanceRoundControllerTest.java, backend/src/test/java/org/sejongisc/backend/attendance/service/AttendanceRoundServiceTest.java
필드명 변경에 따른 요청/응답 빌더 및 어설션 업데이트: dateroundDate, availableMinutesallowedMinutes.

예상 코드 리뷰 난이도

🎯 3 (보통) | ⏱️ ~35-45분

추가 검토가 필요한 영역:

  • Attendance.isLate() 로직: 세션 기반 시간 비교가 올바르게 작동하는지, null 체크가 충분한지 확인 필요
  • AttendanceSession.calculateCurrentStatus() 및 isCheckInAvailable(): 시간 윈도우 계산 로직의 정확성 검증 필요
  • 시간대 처리: LocalDateTime 기반 변환에서 타임존 고려 여부 확인
  • 데이터베이스 마이그레이션: default_start_timestarts_at 및 분 → 초 단위 변환 스크립트 필요성 검토
  • API 하위 호환성: 클라이언트에서 기존 필드명(date, availableMinutes)을 사용 중일 경우 영향도 분석

관련 PR 목록

검토자 제안

  • discipline24

🐰 라운드와 세션이 춤을 추네요,
분을 초로 환생하고,
필드명도 깔끔하게 정렬되었어요!
시간의 창은 더욱 명확해졌고,
우리의 코드는 한 단계 진화했답니다. ⏰✨

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch revert-140-SISC1-223-BE-출석-세션-시간-변수-수정

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 72607b7 and ebccdaf.

📒 Files selected for processing (12)
  • backend/src/main/java/org/sejongisc/backend/attendance/controller/AttendanceRoundController.java (1 hunks)
  • backend/src/main/java/org/sejongisc/backend/attendance/controller/AttendanceSessionController.java (2 hunks)
  • backend/src/main/java/org/sejongisc/backend/attendance/dto/AttendanceRoundRequest.java (2 hunks)
  • backend/src/main/java/org/sejongisc/backend/attendance/dto/AttendanceRoundResponse.java (2 hunks)
  • backend/src/main/java/org/sejongisc/backend/attendance/dto/AttendanceSessionRequest.java (2 hunks)
  • backend/src/main/java/org/sejongisc/backend/attendance/entity/Attendance.java (1 hunks)
  • backend/src/main/java/org/sejongisc/backend/attendance/entity/AttendanceSession.java (3 hunks)
  • backend/src/main/java/org/sejongisc/backend/attendance/service/AttendanceRoundService.java (2 hunks)
  • backend/src/main/java/org/sejongisc/backend/attendance/service/AttendanceService.java (1 hunks)
  • backend/src/main/java/org/sejongisc/backend/attendance/service/AttendanceSessionService.java (9 hunks)
  • backend/src/test/java/org/sejongisc/backend/attendance/controller/AttendanceRoundControllerTest.java (8 hunks)
  • backend/src/test/java/org/sejongisc/backend/attendance/service/AttendanceRoundServiceTest.java (8 hunks)

Tip

📝 Customizable high-level summaries are now available in beta!

You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.

  • Provide your own instructions using the high_level_summary_instructions setting.
  • Format the summary however you like (bullet lists, tables, multi-section layouts, contributor stats, etc.).
  • Use high_level_summary_in_walkthrough to move the summary from the description to the walkthrough section.

Example instruction:

"Divide the high-level summary into five sections:

  1. 📝 Description — Summarize the main change in 50–60 words, explaining what was done.
  2. 📓 References — List relevant issues, discussions, documentation, or related PRs.
  3. 📦 Dependencies & Requirements — Mention any new/updated dependencies, environment variable changes, or configuration updates.
  4. 📊 Contributor Summary — Include a Markdown table showing contributions:
    | Contributor | Lines Added | Lines Removed | Files Changed |
  5. ✔️ Additional Notes — Add any extra reviewer context.
    Keep each section concise (under 200 words) and use bullet or numbered lists for clarity."

Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@Kosw6 Kosw6 merged commit 8e861a1 into main Nov 25, 2025
1 check was pending
@Kosw6 Kosw6 deleted the revert-140-SISC1-223-BE-출석-세션-시간-변수-수정 branch November 25, 2025 06:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant