Sobes.tech

Java

Prečítajte kód a zvýraznite chyby /** * Klient s kúpeným lístkom môže za dodatočný poplatok vybrať konkrétne miesto. * Základná cena miest sa určuje tarifami (vonkajší servis). * Pre klientov s určitými tarifami (PREMIUM, ULTRA) je potrebné urobiť zľavu pri platbe. * Pri rezervácii je klientovi vystavená faktúra na platbu. Správa platby sa vykonáva v externom servise. */ @Service public class SeatBookingService { @Autowired private SeatBookingRepository seatBookingRepository; @Autowired private TicketRepository ticketRepository; @Autowired private TariffClient tariffClient; @Autowired private CustomerClient customerClient; @Autowired private PaymentClient paymentClient; /** * Rezervácia. * @param seatCode kód miesta (napríklad 19A) * @param ticketId ID lístka */ @Transactional public void bookSeat(String seatCode, UUID ticketId) { var ticket = ticketRepository.findById(ticketId); //rezervujeme var seatBooking = new SeatBooking(seatCode, ticket.get().getFlightId(), ticketId, BookingStatus.BOOKED); seatBookingRepository.save(seatBooking); //hľadáme základnú cenu pre vybrané miesto v lietadle var basePrice = tariffClient.getBasePrice(ticket.get().getPlaneModel(), seatCode); //hľadáme údaje o klientovi Long userId = (Long) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); var userData = customerClient.getCustomer(userId); System.out.println("Nájdený používateľ " + userData.getFio() + " číslo dokladu " + userData.getDocument()); var price = basePrice; if (userData.getTariff() == "PREMIUM") { //zľava 50% price = basePrice * 0.5d; } if (userData.getTariff() == "ULTRA") { //zľava 20% price = basePrice * 0.8d; } var invoice = new Invoice(price, ticketId, userId); //vystavujeme faktúru paymentClient.sendInvoice(invoice); System.out.println("Faktúra vystavená"); } @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; }

327

Môžeš uviesť hlavné analytické funkcie používané v SQL na analýzu dát?

Junior — Middle
327

Čím sa líšia sekcie dependency a dependencyManagement v konfiguračnom súbore Maven?

Junior — Middle
327

Prečo sú ArrayList a pole hlavné dátové štruktúry v Jave?

Junior
327

Ako zavolať uloženú procedúru v Jave?

Middle
327

Ako vytvoriť kontrolér v Spring?

Junior
327

Ako zaregistrovať ovládač JDBC?

Junior
327

V čom sa líšia cykly v Jave?

Junior
327

Zúčastnili ste sa nastavenia alebo práce s prostredím stage na testovanie alebo nasadenie?

Junior — Middle
327

Čo je DTD (Definícia typu dokumentu) a akú úlohu zohráva v XML?

Junior
327

Popíšte všeobecné praktické princípy práce s JavaServer Pages (JSP).

Junior
327

Povedz mi o tom projekte, na ktorý si obzvlášť hrdý, a vysvetli, prečo má pre teba význam.

Junior — Middle
327

Majú List a Set niečo spoločné?

Junior
327

Čo je metóda finalize v Jave?

Middle
327

Je štandardný kontajner Vector v C++ bezpečný pre prístup z viacerých vlákien súčasne?

Junior — Middle
327

Zúčastnili ste sa náboru a vykonali pohovory? Máte v tíme QA vedúceho?

Middle
327

V ktorých situáciách môže byť použitie DTO nevhodné alebo neželané?

Junior — Middle
327

Aký výsledok vracia objekt metódy Callable v Jave?

Junior — Middle
327

Aká metóda v rámci objektu je podľa vás najdôležitejšia a najčastejšie používaná?

Junior — Middle
327

Uveďte príklad použitia vlastných tagov v Jave.

Middle
327
/734