11
11
import org .third .thirdseminar .controller .dto .response .TimeRangeDto ;
12
12
import org .third .thirdseminar .controller .dto .request .CreateReservationRequest ;
13
13
import org .third .thirdseminar .controller .dto .response .*;
14
- import org .third .thirdseminar .domain .Reservation ;
15
- import org .third .thirdseminar .domain .ReservationResult ;
16
- import org .third .thirdseminar .domain .Ticket ;
17
- import org .third .thirdseminar .domain .TimeRange ;
14
+ import org .third .thirdseminar .domain .*;
18
15
import org .third .thirdseminar .infrastructure .ReservationJpaRepository ;
19
16
import org .third .thirdseminar .infrastructure .ReservationResultJpaRepository ;
20
17
import org .third .thirdseminar .infrastructure .TicketJpaRepository ;
@@ -39,12 +36,17 @@ public class ReservationService {
39
36
private final DecimalFormat df = new DecimalFormat ("###,###" );
40
37
41
38
public AirReservationResponse getReservations (AirReservationRequest reqeust ){
42
- List <Reservation > reservations = reservationJpaRepository .findAll ();
39
+ List <ReservationMinPriceDTO > reservationMinPriceDtoList = reservationJpaRepository .findReservations ("일본" ).stream ().map (
40
+ row -> ReservationMinPriceDTO .of (
41
+ (Reservation ) row [0 ],
42
+ (Long ) row [1 ]
43
+ )).toList ();
44
+
43
45
44
46
List <AirDto > airList = new ArrayList <>();
45
- for (Reservation reservation : reservations ){
46
- List < Ticket > ticket = tickectJpaRepository . findByReservationIdOrderByPriceAsc ( reservation . getId () );
47
- airList .add (AirDto .of (reservation , df .format (ticket . get ( 0 ). getPrice ()), TimeRangeFormat (reservation .getStartTime ()), TimeRangeFormat (reservation .getEndTime ())));
47
+ for (ReservationMinPriceDTO reservationMinPriceDTO : reservationMinPriceDtoList ){
48
+ Reservation reservation = reservationMinPriceDTO . reservation ( );
49
+ airList .add (AirDto .of (reservation , df .format (reservationMinPriceDTO . minPrice ()), TimeRangeFormat (reservation .getStartTime ()), TimeRangeFormat (reservation .getEndTime ())));
48
50
}
49
51
DateDto dateDto = new DateDto (reqeust .startDate (), reqeust .endDate ());
50
52
return new AirReservationResponse (dateDto , airList );
0 commit comments