Files
sodalive-backend-spring-boot/docs/20260316_캔사용내역타임존및널처리개선.md

1.6 KiB

20260316_CanServiceGetCanUseStatusTimezoneAndNullHandling.md

작업 개요

  • CanService.getCanUseStatus 함수에서 유효하지 않은 타임존 입력 시 처리 방식 변경 (예외 발생 -> UTC 기본값 사용).
  • 캔 사용 내역 타이틀에서 null 문자열이 노출되는 문제 해결 및 크리에이터 닉네임 활용 로직 강화.

구현 항목

  • CanService.getCanUseStatus 타임존 처리 로직 수정
    • ZoneId.of(timezone) 호출 시 예외 발생 시 UTC를 기본값으로 사용하도록 변경.
  • CanService.getCanUseStatus 타이틀 생성 로직 수정
    • CanUsage.LIVE 등에서 roomTitle이 null인 경우 roomMemberNickname을 출력하도록 변경.
    • 기타 null 문자열이 노출될 수 있는 지점 확인 및 수정.
  • CanServiceTest.kt 수정
    • 타임존 예외 테스트를 UTC 기본값 동작 검증 테스트로 변경.
    • 타이틀 null 처리 로직 변경에 따른 검증 코드 업데이트.

검증 기록

1차 구현

  • 무엇을: 타임존 안전 처리 및 타이틀 null 방지 로직 구현
  • : 사용자 경험 개선 및 데이터 무결성 표시
  • 어떻게:
    • CanService.kt: ZoneId.of(timezone)에 try-catch 적용, CanUsage.LIVE 등에서 제목 null 시 닉네임 사용하도록 수정.
    • CanServiceTest.kt: 타임존 UTC 폴백 테스트 및 타이틀 null 방지 테스트 케이스 업데이트.
    • ./gradlew test 실행 결과: 5개 테스트 모두 통과.
    • ./gradlew ktlintCheck 실행 결과: 성공.