Java
Bu layihənin detalları ilə necə məşğul olduğunuzu danışın.
Obyətdə hashCode dəyərinin müəyyən edilməsi üçün hansı ilkin məlumatlar istifadə olunur?
Proqram təminatı inkişafı prosesində versiya idarəetmə sisteminin rolu nədir?
Ənənəvi verilənlər bazasında nəsil ağacının quruluşunun saxlanması və göstərilməsi necə həyata keçirilə bilər?
Obyekt yönümlü proqramlaşdırmada polimorfizm və abstraksiya anlayışı arasındakı fərqi izah edə bilərsinizmi?
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; }
@Transactional qeydində təyin oluna bilən müxtəlif Propagation növləri haqqında danışa bilərsinizmi?
Texnologiya sahəsində tədris materialları və yeniləmələr axtararkən hansı mənbələrdən istifadə edirsiniz?
MongoDB verilənlər bazasında müxtəlif kolleksiyalar arasında əlaqələr qurmaq mümkündürmü?
Java ilə işləməyə və bu dildəki ilk layihələrinizə necə başlamısınız?
Verilənlər bazasına sorğular necə formalaşır?
Spring çərçivəsi nə əsasında qurulub?
SQL və NoSQL verilənlər bazaları arasındakı fərq nədir?
@Bean şərti harada istifadə olunur?
Proqramlaşdırmada irsiyyət və əlaqəni harada tətbiq etmək daha yaxşıdır?
Bir metodun idempotentliyi nədir?
Layihənizdə Spring Security-də hansı autentifikasiya və icazə yanaşması həyata keçirilir?
HTTP sorğu metodları arasındakı fərq nədir?
AutoCloseable interfeysi nədir və Java-da try-with-resources quruluşu necə işləyir?
Niyə verilənlər bazaları mətn fayllarından daha yaxşıdır?