Skip to content

Commit

Permalink
Merge pull request #166 from 4bujak-4bujak/develop
Browse files Browse the repository at this point in the history
bug: #135 일곱번째 버그 해결
  • Loading branch information
zoomin3022 authored Jun 11, 2024
2 parents 4679883 + 8c40f2d commit 3cd0f26
Showing 1 changed file with 5 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import static com.example.sabujak.member.entity.QMemberImage.memberImage;
import static com.example.sabujak.reservation.entity.QMemberReservation.memberReservation;
import static com.example.sabujak.reservation.entity.QReservation.reservation;
import static com.example.sabujak.space.entity.QSpace.space;

@RequiredArgsConstructor
public class MemberRepositoryCustomImpl implements MemberRepositoryCustom {
Expand Down Expand Up @@ -46,16 +47,19 @@ private BooleanExpression searchKeyword(String searchTerm) {
public List<Member> searchMembersCanInviteInMembers(List<Member> members, LocalDateTime startAt, LocalDateTime endAt) {
return queryFactory.selectFrom(member)
.join(member.memberReservations, memberReservation)
.where(member.in(members), reservationCondition(startAt, endAt))
.where(member.in(members),
reservationCondition(startAt, endAt))
.fetch();
}

private BooleanExpression reservationCondition(LocalDateTime startAt, LocalDateTime endAt) {
return JPAExpressions.selectOne()
.from(memberReservation)
.join(memberReservation.reservation, reservation)
.join(reservation.space, space)
.where(memberReservation.member.eq(member),
memberReservation.memberReservationStatus.eq(ReservationStatus.ACCEPTED),
space.dtype.eq("MeetingRoom"),
reservation.reservationStartDateTime.between(startAt, endAt.minusSeconds(1))
.or(reservation.reservationEndDateTime.between(startAt.plusSeconds(1), endAt))
.or(reservation.reservationStartDateTime.before(startAt)
Expand Down

0 comments on commit 3cd0f26

Please sign in to comment.