77import org .springframework .stereotype .Service ;
88import roomescape .exception .InvalidReservationParameterException ;
99import roomescape .exception .NotFoundReservationException ;
10+ import roomescape .model .time .Time ;
1011
1112import java .sql .PreparedStatement ;
1213import java .util .List ;
@@ -29,20 +30,26 @@ public List<Reservation> getAllReservations() {
2930 public Reservation addReservation (ReservationRequest reservationRequest ) {
3031 if (reservationRequest .getName () == null || reservationRequest .getName ().isEmpty () ||
3132 reservationRequest .getDate () == null || reservationRequest .getDate ().isEmpty () ||
32- reservationRequest .getTime () == null || reservationRequest . getTime (). isEmpty () ) {
33+ reservationRequest .getTime () == null ) {
3334 throw new InvalidReservationParameterException ("예약 내용에 누락된 부분이 있습니다." );
3435 }
3536
36- Reservation reservation = new Reservation ( reservationRequest .getName (), reservationRequest . getDate (), reservationRequest . getTime () );
37+ Time time = reservationRequest .getTime ();
3738
38- String sql = "INSERT INTO reservation (name,date,time) VALUES (?,?,?)" ;
39+ Reservation reservation = new Reservation (
40+ reservationRequest .getName (),
41+ reservationRequest .getDate (),
42+ time
43+ );
44+
45+ String sql = "INSERT INTO reservation (name,date,time_id) VALUES (?,?,?)" ;
3946 KeyHolder keyHolder = new GeneratedKeyHolder ();
4047
4148 jdbcTemplate .update (connection -> {
4249 PreparedStatement ps = connection .prepareStatement (sql , new String []{"id" });
4350 ps .setString (1 , reservation .getName ());
4451 ps .setString (2 , reservation .getDate ());
45- ps .setString (3 , reservation . getTime ());
52+ ps .setLong (3 , time . getId ());
4653 return ps ;
4754 }, keyHolder );
4855
0 commit comments