Java
Rääkige mulle, kuidas te selle projekti üksikasjadesse süvenesite.
Millised algandmed kasutatakse hashCode väärtuse määramiseks objektis?
Milline on versioonihaldussüsteemi roll tarkvaraarendusprotsessis?
Kuidas saab rakendada genealoogilise puu struktuuri salvestamist ja kuvamist relatsioonandmebaasis?
Kas saaksite selgitada polümorfismi ja abstraktsiooni vahelist erinevust objektorienteeritud programmeerimises?
Lugege kood läbi ja märkige vead /** * Klient, kellel on ostetud pilet, võib lisatasu eest valida konkreetse koha. * Kohtade põhinõuded määratakse tariifide (väline teenus) kaudu. * Teatud tariifide (PREMIUM, ULTRA) puhul tuleb maksmise ajal teha allahindlus. * Broneerimisel väljastatakse kliendile arve maksmiseks. Makse haldamine toimub välise teenuse kaudu. */ @Service public class SeatBookingService { @Autowired private SeatBookingRepository seatBookingRepository; @Autowired private TicketRepository ticketRepository; @Autowired private TariffClient tariffClient; @Autowired private CustomerClient customerClient; @Autowired private PaymentClient paymentClient; /** * Broneerimine. * @param seatCode koha kood (nt 19A) * @param ticketId pileti ID */ @Transactional public void bookSeat(String seatCode, UUID ticketId) { var ticket = ticketRepository.findById(ticketId); // broneerime var seatBooking = new SeatBooking(seatCode, ticket.get().getFlightId(), ticketId, BookingStatus.BOOKED); seatBookingRepository.save(seatBooking); // otsime põhihinna valitud kohale lennukis var basePrice = tariffClient.getBasePrice(ticket.get().getPlaneModel(), seatCode); // otsime kliendi andmed Long userId = (Long) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); var userData = customerClient.getCustomer(userId); System.out.println("Leitud kasutaja " + userData.getFio() + " dokumendi number " + userData.getDocument()); var price = basePrice; if (userData.getTariff() == "PREMIUM") { // 50% allahindlus price = basePrice * 0.5d; } if (userData.getTariff() == "ULTRA") { // 20% allahindlus price = basePrice * 0.8d; } var invoice = new Invoice(price, ticketId, userId); // väljastame arve paymentClient.sendInvoice(invoice); System.out.println("Arve väljastatud"); } @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; }
Kas saaks rääkida erinevatest propagation tüüpide kohta, mida saab määrata @Transactional annotatsioonis?
Milliseid allikaid kasutad tehnoloogia valdkonnas õppematerjalide ja uuenduste otsimiseks?
Kas on võimalik luua ühendusi erinevate MongoDB andmebaasi kogumite vahel?
Kuidas sa hakkasid õppima Java-ga töötama ja sinu esimesed projektid selles keeles?
Kuidas moodustatakse andmebaasi päringud?
Millele põhineb Spring raamistik?
Mis vahe on SQL ja NoSQL andmebaasidel?
Kus kasutatakse @Bean annotatsiooni
Kus on kõige parem rakendada pärandamist ja assotsiatsiooni programmeerimisel?
Mis on meetodi idempotentsus?
Milline autentimise ja autoriseerimise lähenemine on teie projektis Spring Securitys rakendatud?
Mis vahe on HTTP päringumeetoditel?
Mis on AutoCloseable liides ja kuidas töötab try-with-resources konstruktsioon Java's?
Miks andmebaasid on paremad kui tekstifailid?