Sobes.tech

Java

Przeczytaj kod i podkreśl błędy /** * Klient z zakupionym biletem może za dodatkową opłatą wybrać konkretne miejsce. * Cena bazowa miejsc jest określana przez taryfy (zewnętrzny serwis). * Dla klientów z określonymi taryfami (PREMIUM, ULTRA) konieczne jest zastosowanie zniżki przy płatności. * Przy rezerwacji klientowi wystawiana jest faktura do zapłaty. Zarządzanie płatnościami odbywa się w zewnętrznym serwisie. */ @Service public class SeatBookingService { @Autowired private SeatBookingRepository seatBookingRepository; @Autowired private TicketRepository ticketRepository; @Autowired private TariffClient tariffClient; @Autowired private CustomerClient customerClient; @Autowired private PaymentClient paymentClient; /** * Rezerwacja. * @param seatCode kod miejsca (np. 19A) * @param ticketId ID biletu */ @Transactional public void bookSeat(String seatCode, UUID ticketId) { var ticket = ticketRepository.findById(ticketId); //rezerwujemy var seatBooking = new SeatBooking(seatCode, ticket.get().getFlightId(), ticketId, BookingStatus.BOOKED); seatBookingRepository.save(seatBooking); //szukamy podstawowej taryfy dla wybranego miejsca w samolocie var basePrice = tariffClient.getBasePrice(ticket.get().getPlaneModel(), seatCode); //szukamy danych klienta Long userId = (Long) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); var userData = customerClient.getCustomer(userId); System.out.println("Znaleziono użytkownika " + userData.getFio() + " numer dokumentu " + userData.getDocument()); var price = basePrice; if (userData.getTariff() == "PREMIUM") { //50% zniżki price = basePrice * 0.5d; } if (userData.getTariff() == "ULTRA") { //20% zniżki price = basePrice * 0.8d; } var invoice = new Invoice(price, ticketId, userId); //wystawiamy fakturę paymentClient.sendInvoice(invoice); System.out.println("Faktura wystawiona"); } @Data @Table("seat_booking") public class SeatBooking { @Column private String seatCode; @Column private UUID flightId; @Column private UUID ticketId; @Column private BookingStatus status; } public enum BookingStatus { BOOKED, PAID; }

Senior
ТБанк
212

Do czego służą funkcjonalne interfejsy ToDoubleFunction<T>, ToIntFunction<T> i ToLongFunction<T> w Java?

Middle
212

Jaka jest główna różnica między interfejsami Comparable i Comparator w Java podczas sortowania obiektów?

Junior — Middle
212

Jakie źródła wykorzystujesz do poszukiwania materiałów edukacyjnych i aktualizacji w dziedzinie technologii?

Junior — Middle
212

Czym są tworzone zapytania do bazy danych?

Junior
212

Na czym polega różnica między testami jednostkowymi a testami integracyjnymi?

Junior
212

Jakimi wartościami są domyślnie inicjalizowane zmienne w Java?

Junior
212

Jaka jest kolejność wywołań konstruktorów i bloków inicjalizacyjnych z uwzględnieniem hierarchii klas?

Middle
212

Czy możesz wyjaśnić, jak przeprowadzany jest atak typu SQL Injection i jak wykorzystuje luki w bazie danych?

Junior — Middle
УралсибУралсиб
212

Na czym polega różnica między bazami danych SQL a NoSQL?

Junior
212

Gdzie jest używany anotacja @Bean?

Middle
212

Gdzie najlepiej stosować dziedziczenie i asocjację w programowaniu?

Middle
212

Czym jest idempotentność metody?

Junior
212

Jaka jest różnica między metodami żądań HTTP?

Junior
212

Czym jest interfejs AutoCloseable i jak działa konstrukcja try-with-resources w Java?

Middle
212

Czym jest wyjątek w Java?

Junior
212

Jaką strukturę danych najlepiej używać do szybkiego wydobywania maksymalnego elementu przy rzadkich wstawieniach?

Junior — Middle
Т-БанкТ-Банк
212

Czy miałeś przypadki tworzenia lub wdrażania komponentu lub mechanizmu podobnego do Starter?

Junior — Middle
211

Jakie restauracje lub kawiarnie polecasz odwiedzić?

Junior — Middle
Передовые Платежные Решения
211

Co się dzieje wewnątrz ArrayList podczas wstawiania elementu w jego środkową część?

Junior — Middle
211
/726