Skip to content

Commit

Permalink
feat: 로그인 회원가입 시 학번 대소문자 구분 없이 처리 (#67)
Browse files Browse the repository at this point in the history
* feat: 로그인 회원가입 시 학번 대소문자 구분 없이 처리

* chore: 자잘한 줄 수정

* chore: 자잘한 줄 수정

* chore: 오타 수정
  • Loading branch information
yuuuyeonho authored Feb 10, 2025
1 parent 314046a commit d890216
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public class LoginService {
public LoginResponse login(LoginRequest loginRequest) {

//학번으로 사용자 조회
Member member= memberRepository.findByStudentId(loginRequest.studentId())
Member member= memberRepository.findByStudentIdIgnoreCase(loginRequest.studentId())
.orElseThrow(() -> new MemberException("존재하지 않는 학번입니다."));

//비밀번호 일치하는지 검증
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,4 +62,9 @@ public void approve() {
public boolean isAdmin() {
return status.equals(MemberStatus.관리자);
}

@PrePersist
public void convertStudentIdToUpperCase() {
this.studentId = studentId.toUpperCase();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

public interface MemberRepository extends JpaRepository<Member, Long> {
Optional<Member> findByStudentId(String studentId);
Optional<Member> findByStudentIdIgnoreCase(String studentId);
boolean existsByStudentId(String studentId);
boolean existsByEmail(String email);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,11 @@ public interface ReservationRepository extends JpaRepository<Reservation, Long>


@Query("SELECT COUNT(r) > 0 "
+ "FROM Reservation r "
+ "WHERE r.date = :date "
+ "AND (r.startTime BETWEEN :start_time AND :end_time "
+ "OR r.endTime BETWEEN :start_time AND :end_time "
+ "OR :start_time BETWEEN r.startTime AND r.endTime)")
+ "FROM Reservation r "
+ "WHERE r.date = :date "
+ "AND (r.startTime BETWEEN :start_time AND :end_time "
+ "OR r.endTime BETWEEN :start_time AND :end_time "
+ "OR :start_time BETWEEN r.startTime AND r.endTime)")
boolean existsAnotherReservationAtDateAndTimePeriod(@Param("date") LocalDate date, @Param("start_time") LocalTime startTime, @Param("end_time") LocalTime endTime);

// 탈퇴된 회원 외래키 null 처리 쿼리
Expand All @@ -40,11 +40,11 @@ public interface ReservationRepository extends JpaRepository<Reservation, Long>
void unlinkMember(@Param("memberId") Long memberId);

@Query("SELECT COUNT(r) > 0 "
+ "FROM Reservation r "
+ "WHERE r.date = :date "
+ "AND (r.reservationType != 'PERSONAL' OR (r.reservationType = 'PERSONAL' AND r.session = :session)) "
+ "AND (r.startTime BETWEEN :start_time AND :end_time "
+ "OR r.endTime BETWEEN :start_time AND :end_time "
+ "OR :start_time BETWEEN r.startTime AND r.endTime)")
+ "FROM Reservation r "
+ "WHERE r.date = :date "
+ "AND (r.reservationType != 'PERSONAL' OR (r.reservationType = 'PERSONAL' AND r.session = :session)) "
+ "AND (r.startTime BETWEEN :start_time AND :end_time "
+ "OR r.endTime BETWEEN :start_time AND :end_time "
+ "OR :start_time BETWEEN r.startTime AND r.endTime)")
boolean existsAnotherReservationAtDateAndTimePeriodWithSession(@Param("date") LocalDate date, @Param("session") Session session, @Param("start_time") LocalTime startTime, @Param("end_time") LocalTime endTime);
}

0 comments on commit d890216

Please sign in to comment.