source: src/main/java/com/example/rezevirajmasa/demo/bootstrap/ReservationInitializer.java@ db39d9e

main
Last change on this file since db39d9e was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago

Initial commit

  • Property mode set to 100644
File size: 2.1 KB
Line 
1package com.example.rezevirajmasa.demo.bootstrap;
2
3import com.example.rezevirajmasa.demo.model.Reservation;
4import com.example.rezevirajmasa.demo.model.Restaurant;
5import com.example.rezevirajmasa.demo.service.ReservationHistoryService;
6import com.example.rezevirajmasa.demo.service.ReservationService;
7import org.springframework.stereotype.Component;
8
9import jakarta.annotation.PostConstruct;
10import java.time.LocalDateTime;
11import java.util.List;
12import java.util.stream.Collectors;
13
14@Component
15public class ReservationInitializer {
16 private final ReservationHistoryService reservationHistoryService;
17 private final ReservationService reservationService;
18
19 public ReservationInitializer(ReservationHistoryService reservationHistoryService, ReservationService reservationService) {
20 this.reservationHistoryService = reservationHistoryService;
21 this.reservationService = reservationService;
22 }
23
24 @PostConstruct
25 public void initializePastReservations() {
26 LocalDateTime currentTime = LocalDateTime.now();
27 List<Reservation> reservationsToMove = reservationService.findReservationsToMove(currentTime);
28
29 List<Restaurant.ReservationHistory> reservationHistories = reservationsToMove.stream()
30 .map(reservation -> new Restaurant.ReservationHistory(
31 reservation.getCustomer(),
32 reservation.getTable(),
33 reservation.getRestaurant(),
34 reservation.getReservationDateTime(),
35 reservation.getPartySize(),
36 reservation.getSpecialRequests(),
37 "Done",
38 null, // You can set cancellation reason if needed, it's not clear from the code provided
39 reservation.getCheckInTime() // Use currentTime for check-in date
40 ))
41 .collect(Collectors.toList());
42
43 reservationHistoryService.moveReservationsToPast(reservationHistories);
44
45 reservationsToMove.forEach(reservation -> reservationService.deleteReservation(reservation.getReservationID()));
46 }
47
48}
Note: See TracBrowser for help on using the repository browser.