Skip to content

Commit c9737cd

Browse files
committed
refactor(ReservationService): timeId를 통해 time과 맵핑하는 코드 추가
1 parent fbed97d commit c9737cd

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

src/main/java/roomescape/model/reservation/ReservationService.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ public Reservation addReservation(ReservationRequest reservationRequest) {
3434
throw new InvalidReservationParameterException("예약 내용에 누락된 부분이 있습니다.");
3535
}
3636

37-
Time time = reservationRequest.getTime();
37+
Long timeId = reservationRequest.getTime();
38+
Time time = findTimeById(timeId);
3839

3940
Reservation reservation = new Reservation(
4041
reservationRequest.getName(),
@@ -60,6 +61,14 @@ public Reservation addReservation(ReservationRequest reservationRequest) {
6061
return reservation;
6162
}
6263

64+
private Time findTimeById(Long timeId) {
65+
String sql = "SELECT id, time FROM time WHERE id = ?";
66+
return jdbcTemplate.queryForObject(sql, (rs, rowNum) -> new Time(
67+
rs.getLong("id"),
68+
rs.getString("time")
69+
), timeId);
70+
}
71+
6372
public void deleteReservation(Long id) {
6473
int rowAffected = reservationRepository.deleteById(id);
6574
if (rowAffected == 0) {

src/main/java/roomescape/model/time/Time.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ public Time(@JsonProperty("time") String time) {
1616
this.time = time;
1717
}
1818

19+
public Time(Long id, String time) {
20+
this.id = id;
21+
this.time = time;
22+
}
23+
1924
public Long getId() {
2025
return id;
2126
}

0 commit comments

Comments
 (0)