Sobes.tech

Java

Olvassa el a kódot és emelje ki a hibákat /** * Egy vásárlással rendelkező ügyfél extra díj ellenében kiválaszthat egy adott helyet. * A helyek alapára a tarifák (külső szolgáltatás) szerint kerül meghatározásra. * Bizonyos tarifákkal (PREMIUM, ULTRA) rendelkező ügyfelek esetében kedvezményt kell alkalmazni a fizetés során. * A foglalás során számlát állítanak ki a fizetéshez. A fizetés kezelése egy külső szolgáltatásban történik. */ @Service public class SeatBookingService { @Autowired private SeatBookingRepository seatBookingRepository; @Autowired private TicketRepository ticketRepository; @Autowired private TariffClient tariffClient; @Autowired private CustomerClient customerClient; @Autowired private PaymentClient paymentClient; /** * Foglalás. * @param seatCode helykód (pl. 19A) * @param ticketId jegy azonosító */ @Transactional public void bookSeat(String seatCode, UUID ticketId) { var ticket = ticketRepository.findById(ticketId); //foglalunk var seatBooking = new SeatBooking(seatCode, ticket.get().getFlightId(), ticketId, BookingStatus.BOOKED); seatBookingRepository.save(seatBooking); //keressük az alapárat a repülőn lévő helyhez var basePrice = tariffClient.getBasePrice(ticket.get().getPlaneModel(), seatCode); //keressük az ügyfél adatait Long userId = (Long) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); var userData = customerClient.getCustomer(userId); System.out.println("Talált felhasználó " + userData.getFio() + " dokumentumszám " + userData.getDocument()); var price = basePrice; if (userData.getTariff() == "PREMIUM") { //50% kedvezmény price = basePrice * 0.5d; } if (userData.getTariff() == "ULTRA") { //20% kedvezmény price = basePrice * 0.8d; } var invoice = new Invoice(price, ticketId, userId); //számla kiállítása paymentClient.sendInvoice(invoice); System.out.println("Számla kiállítva"); } @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

Milyen típusú függőséginjektálásokat ismer?

Junior
212

Milyen típusú táblacsatlakozásokat alkalmazott SQL lekérdezéseiben?

Junior — Middle
212

Tudná magyarázni, hogy mit értünk kivétel alatt a Java nyelvben, és hogyan használják?

Junior — Middle
СБЕРСБЕР
IT OneIT One
212

Milyen nehézségek merültek fel a Hibernate használata során a projektekben?

Junior — Middle
212

Hogyan kell helyesen frissíteni az adat típusát egy meglévő adatbázis táblában?

Junior — Middle
ИннотехИннотех
212

Felfogható-e a Runnable interfész, mint feladatok végrehajtására szolgáló interfész Java-ban?

Junior — Middle
212

Mi a különbség az equals és a hashCode metódusok között Java-ban?

Junior
212

Tudná magyarázni a lock-free algoritmusok fogalmát és azok különbségeit más szinkronizációs módszerekkel?

Junior — Middle
Смарттек
212

Mi a problémája a Java ellenőrzött kivételinek?

Middle
212

Mik a fő különbségek a LinkedList és az ArrayList között Java-ban?

Junior
212

Milyen hitelesítési és jogosultsági megközelítést valósít meg a Spring Security a projektjében?

Junior — Middle
Консалтика
212

Létrehozhatunk saját viselkedést a konstruktor számára egy örökölt osztályban, felülírva azt?

Junior — Middle
212

Mi az az AutoCloseable interfész és hogyan működik a try-with-resources szerkezet Java-ban?

Middle
212

Hogyan lehet megadni egy tranzitív függőség konkrét verzióját a Gradle konfigurációs fájlban?

Junior — Middle
Firecode
212

Mi az inkapszuláció a programozásban?

Intern
212

Milyen fő módszerek vannak az HttpServlet osztályban?

Middle
212

Hogyan csatlakoztassuk az adatbázist?

Junior
212

Hogyan lehet egy monolitikus alkalmazást különálló mikroszolgáltatásokra átalakítani?

Middle — Middle+
DCloud
212

Szükség volt-e arra, hogy saját maga redefiniálja az equals metódust?

Middle
212
/726