Java
Sisteminizlə inteqrasiya üçün hansı xarici xidmətlərdən istifadə etdiniz?
log4j-də Layout nədir?
Çox ipli şəraitdə Servlet işlənməsi necə həyata keçirilir?
Arxa fon rengini təyin etmək üçün hansı xüsusiyyət istifadə olunur?
Niyə müxtəlif obyektlərin hashCode() dəyərləri eyni ola bilər?
HashMap məlumatlar strukturu istifadə edərkən açarların unikalığını necə təmin etmək olar?
Tətbiqdə hansı vəziyyətlərdə ClassCastException istisnası atıla bilər?
Java-da məlumat tiplərini necə müqayisə etmək olar?
Biznes məntiqi kontekstində, equals metodunu həyata keçirərkən varlığın bütün sahələrini nəzərə almaq məcburidir?
Son layihənizdə verilənlər bazalarının idarə olunması və nəzarəti ilə kim məşğul oldu?
Layihələrinizdə Repeatable Read izolyasiya səviyyəsini tətbiq etmisinizmi?
Proqramlaşdırmada arqumentlərin istinadla ötürülməsinin necə həyata keçirildiyini izah edə bilərsinizmi?
Son layihənizdə mikroservisin inteqrasiya prosesi necə və hansı mexanizm vasitəsilə həyata keçirildi?
Starter-ə bənzər komponent və ya mexanizmin hazırlanması və ya tətbiqi halları oldumu?
Verilənlər bazasında denormalizasiyanın konseptini və layihə üçün nəticələrini izah edin.
Spring-də @RestController və @Controller qeydləri arasındakı əsas fərqlər nədir?
Stream istifadəsi Java-da əməliyyatların icra sürətinə təsir edəcəkmi?
Obyekt yönümlü proqramlaşdırmada polimorfizm və abstraksiya anlayışı arasındakı fərqi izah edə bilərsinizmi?
Korporativ miqyosda geniş proqram təminatında paralel hesablamaları və iş parçaları idarəsini necə təşkil etmək olar?
Kodları oxuyun və səhvləri vurğulayın /** * Alınmış bileti olan müştəri əlavə ödəniş qarşılığında müəyyən bir yer seçə bilər. * Oturacaqların əsas qiyməti tariflər (xarici xidmət) tərəfindən müəyyən edilir. * Müəyyən tariflərə (PREMIUM, ULTRA) sahib müştərilər üçün ödəniş zamanı endirim tətbiq edilməlidir. * Rezervasiya zamanı müştəri üçün ödəniş üçün faktura çıxarılır. Ödənişin idarə olunması üçüncü tərəf xidmətdə həyata keçirilir. */ @Service public class SeatBookingService { @Autowired private SeatBookingRepository seatBookingRepository; @Autowired private TicketRepository ticketRepository; @Autowired private TariffClient tariffClient; @Autowired private CustomerClient customerClient; @Autowired private PaymentClient paymentClient; /** * Rezervasiya. * @param seatCode yer kodu (məsələn, 19A) * @param ticketId bilet ID-si */ @Transactional public void bookSeat(String seatCode, UUID ticketId) { var ticket = ticketRepository.findById(ticketId); //rezervasiya edirik var seatBooking = new SeatBooking(seatCode, ticket.get().getFlightId(), ticketId, BookingStatus.BOOKED); seatBookingRepository.save(seatBooking); //uçuşdakı seçilmiş yer üçün əsas tarif tapırıq var basePrice = tariffClient.getBasePrice(ticket.get().getPlaneModel(), seatCode); //müştəri məlumatlarını tapırıq Long userId = (Long) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); var userData = customerClient.getCustomer(userId); System.out.println("Tapılan istifadəçi " + userData.getFio() + " sənəd nömrəsi " + userData.getDocument()); var price = basePrice; if (userData.getTariff() == "PREMIUM") { //50% endirim price = basePrice * 0.5d; } if (userData.getTariff() == "ULTRA") { //20% endirim price = basePrice * 0.8d; } var invoice = new Invoice(price, ticketId, userId); //faktura çıxarırıq paymentClient.sendInvoice(invoice); System.out.println("Faktura göndərildi"); } @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; }