Skip to content

Sisc1 228 be session user 관련 로직 개선#158

Closed
ochanhyeok wants to merge 11 commits intomainfrom
SISC1-228-BE-SessionUser-관련-로직-개선

Hidden character warning

The head ref may contain hidden characters: "SISC1-228-BE-SessionUser-\uad00\ub828-\ub85c\uc9c1-\uac1c\uc120"
Closed

Sisc1 228 be session user 관련 로직 개선#158
ochanhyeok wants to merge 11 commits intomainfrom
SISC1-228-BE-SessionUser-관련-로직-개선

Conversation

@ochanhyeok
Copy link
Contributor

@ochanhyeok ochanhyeok commented Dec 1, 2025

Summary by CodeRabbit

릴리스 노트

  • 지원 중단 (Deprecated)

    • 라운드 기반 워크플로우를 위한 두 개의 관리자 엔드포인트가 2.0에서 제거될 예정입니다.
  • 개선사항

    • 체크인 요청에서 사용자명 필드 제거
    • 위치 정보 필드의 유효성 검사 로직 개선
    • 출석 날짜 및 시간 검증 메시지 명확화

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

@coderabbitai
Copy link

coderabbitai bot commented Dec 1, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

본 변경은 출석 관리 시스템의 레거시 세션 기반 엔드포인트를 지원 중단하고, 출석 확인 요청 DTO를 단순화하며, 출석 서비스의 시간 및 날짜 검증 로직을 통합하고 사용자 처리를 엄격하게 하는 리팩토링입니다.

Changes

Cohort / File(s) 변경 요약
API 지원 중단 표시
backend/src/main/java/org/sejongisc/backend/attendance/controller/AttendanceController.java
getAttendancesBySession, updateAttendanceStatus 메서드에 @Deprecated(since = "2.0", forRemoval = true) 어노테이션 추가 및 OpenAPI 설명에 지원 중단 공지 추가
DTO 단순화
backend/src/main/java/org/sejongisc/backend/attendance/dto/AttendanceCheckInRequest.java
userName 필드 제거, latitude/longitude의 @NotNull 어노테이션 제거, 스키마 설명 업데이트
Repository 쿼리 최적화
backend/src/main/java/org/sejongisc/backend/attendance/repository/SessionUserRepository.java
JPQL 쿼리 단순화: CASE WHEN 표현식을 직접 boolean 표현식으로 변경
Service 로직 리팩토링
backend/src/main/java/org/sejongisc/backend/attendance/service/AttendanceService.java
사용자 조회 엄격화, 통합된 날짜/시간 검증 로직 도입, 익명 사용자 처리 제거, 단순화된 중복 확인 검사, 업데이트된 RemainingSeconds 계산

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20-25 minutes

  • AttendanceService.java: 여러 검증 로직이 통합되고 사용자 처리 흐름이 변경되어 각 로직 분기의 정확성 확인 필요
  • 출석 서비스의 시간 윈도우 검증(startTime >= time < endTime) 및 날짜 검증 로직의 통합이 기존 동작과 일치하는지 검증 필요
  • RemainingSeconds 계산이 checkTime 기반으로 변경된 이유와 영향도 확인

Possibly related PRs

Suggested reviewers

  • discipline24

Poem

🐰 폐기된 코드를 치워내고,
사용자 검증은 더욱 엄격하게,
시간과 날짜를 하나로 모아,
더 깔끔한 출석 관리의 길로!
토끼가 응원합니다, 펄럭 펄럭 ✨

✨ 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 SISC1-228-BE-SessionUser-관련-로직-개선

📜 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 059902b and f806ced.

📒 Files selected for processing (4)
  • backend/src/main/java/org/sejongisc/backend/attendance/controller/AttendanceController.java (2 hunks)
  • backend/src/main/java/org/sejongisc/backend/attendance/dto/AttendanceCheckInRequest.java (2 hunks)
  • backend/src/main/java/org/sejongisc/backend/attendance/repository/SessionUserRepository.java (1 hunks)
  • backend/src/main/java/org/sejongisc/backend/attendance/service/AttendanceService.java (5 hunks)

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.

@ochanhyeok ochanhyeok deleted the SISC1-228-BE-SessionUser-관련-로직-개선 branch December 1, 2025 05:12
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