Skip to content

Commit ebd37c9

Browse files
committed
feat: add methods to find reservations by status and roomId, and update reservation fields
1 parent 3835d0d commit ebd37c9

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,43 @@
11
package com.example.SorokinSpringBoot.repositories;
22

3+
import com.example.SorokinSpringBoot.enums.ReservationStatus;
34
import com.example.SorokinSpringBoot.models.ReservationEntity;
45
import org.springframework.data.jpa.repository.JpaRepository;
6+
import org.springframework.data.jpa.repository.Modifying;
7+
import org.springframework.data.jpa.repository.Query;
8+
import org.springframework.data.repository.query.Param;
9+
import org.springframework.transaction.annotation.Transactional;
10+
11+
import java.time.LocalDate;
12+
import java.util.List;
513

614
public interface ReservationRepository extends JpaRepository<ReservationEntity, Long> {
715

16+
//List<ReservationEntity> findAllByStatusIs(ReservationStatus status);
17+
18+
@Query("select r from ReservationEntity r where r.status = :status")
19+
List<ReservationEntity> findAllByStatusIs(ReservationStatus status);
20+
21+
@Query("select r from ReservationEntity r where r.roomId = :roomId")
22+
List<ReservationEntity> findAllByRoomId(@Param("roomId") Long roomId);
23+
24+
@Transactional
25+
@Modifying
26+
@Query("""
27+
update ReservationEntity r
28+
set r.userId = :userId,
29+
r.roomId = :roomId,
30+
r.startDate = :startDate,
31+
r.endDate = :endDate,
32+
r.status = :status
33+
where r.id = :id
34+
""")
35+
int updateAllFields(
36+
@Param("id") Long id,
37+
@Param("userId") Long userId,
38+
@Param("roomId") Long roomId,
39+
@Param("startDate") LocalDate startDate,
40+
@Param("endDate") LocalDate endDate,
41+
@Param("status") ReservationStatus status
42+
);
843
}

0 commit comments

Comments
 (0)