Sobes.tech

Read the code and highlight errors. /** * A client with a purchased ticket can choose a specific seat for an additional fee. * The base price of seats is determined by tariffs (external service). * For clients with certain tariffs (PREMIUM, ULTRA), a discount is applied at payment. * When booking, an invoice is issued to the client for payment. Payment management is handled by a third-party service. */ @Service public class SeatBookingService { @Autowired private SeatBookingRepository seatBookingRepository; @Autowired private TicketRepository ticketRepository; @Autowired private TariffClient tariffClient; @Autowired private CustomerClient customerClient; @Autowired private PaymentClient paymentClient; /** * Booking. * @param seatCode seat code (e.g., 19A) * @param ticketId ticket ID */ @Transactional public void bookSeat(String seatCode, UUID ticketId) { var ticket = ticketRepository.findById(ticketId); //book var seatBooking = new SeatBooking(seatCode, ticket.get().getFlightId(), ticketId, BookingStatus.BOOKED); seatBookingRepository.save(seatBooking); //find base tariff for the selected seat on the plane var basePrice = tariffClient.getBasePrice(ticket.get().getPlaneModel(), seatCode); //find customer data Long userId = (Long) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); var userData = customerClient.getCustomer(userId); System.out.println("User found " + userData.getFio() + " document number " + userData.getDocument()); var price = basePrice; if (userData.getTariff() == "PREMIUM") { //50% discount price = basePrice * 0.5d; } if (userData.getTariff() == "ULTRA") { //20% discount price = basePrice * 0.8d; } var invoice = new Invoice(price, ticketId, userId); //issue invoice paymentClient.sendInvoice(invoice); System.out.println("Invoice issued"); } @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

Can you list the types of classes that exist in Kotlin?

Junior — Middle
327

What is the difference between the dependency and dependencyManagement sections in a Maven configuration file?

Junior — Middle
327

Why are ArrayList and array the fundamental data structures in Java?

Junior
327

What types of table joins have you used in your SQL queries?

Junior — Middle
327

How to register a JDBC driver?

Junior
327

Explain the principle of dynamic routing of method calls in object-oriented programming.

Junior — Middle
327

How do loops in Java differ?

Junior
327

Have you participated in setting up or working with the stage environment for testing or deployment?

Junior — Middle
327

What is mutual exclusion?

Junior
327

Describe the general practical principles of working with JavaServer Pages (JSP).

Junior
327

How do you use dependency injection in your projects?

Middle
327

How is automatic resource closing implemented using the try-with-resources construct?

Junior — Middle
327

What happens when an exception is thrown in a thread?

Middle
327

What is the purpose of the assert operator in Java programming language?

Junior
327

Which method within an object do you think is the most important and frequently used?

Junior — Middle
327

Can the use of a component be replaced with a service in Spring, and which of these alternatives is more preferable?

Junior — Middle
327

Какое отличие между модификаторами доступа protected и package-private (default) в языке Java?

Junior — Middle
327

Is it permissible to use console log output in the context of microservices architecture?

Junior — Middle
327

How do you assess the attractiveness and potential of this project?

Junior — Middle
327
/735