Advertisement
Guest User

Untitled

a guest
Dec 11th, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. def confirm_seats_reservations
  2. @order.connection.sections.each do |section|
  3. if section.train.brand.name == 'LS'
  4. sprinter = SprinterClient.new
  5. @order.bookings.pluck(:booking_nr).uniq.each do |booking_nr|
  6. sprinter.confirm_booking(booking_nr)
  7. end
  8. elsif section.train.brand.name == 'LEO'
  9.  
  10. connection = @order.connection
  11. train = @order.connection.sections.first.train
  12.  
  13. # travel_train = @order.connection.unpersist
  14. travel_train = Travel::Train.new(train_id: train.id, start_date: connection.sections.first.start_date, finish_date: train.sections.last.end_date, connection_id: connection.id,
  15. first_station: train.sections.first.start_stop.station_id, last_station: train.sections.last.end_stop.station_id)
  16. connector = LeoSales::Connector.new([travel_train], @order.passengers)
  17.  
  18. # TODO Zakładamy, że można zwrócić bilet do 15 min przed odjazdem, zweryfikować!
  19. return_order_expiration = ((@order.valid_from - 15.minutes) - Time.zone.now).to_i
  20.  
  21. book_params = REDIS_POOL.with do |redis|
  22. redis.expire("Leo_reservation_#{connection.id}_#{train.id}_#{@order.passengers.map(&:id).sort}", return_order_expiration)
  23. redis.get("Leo_reservation_#{connection.id}_#{train.id}_#{@order.passengers.map(&:id).sort}")
  24. end
  25. parsed_book_params = JSON.parse(book_params)
  26.  
  27. order_code = parsed_book_params["order_code"]
  28.  
  29. connector.pay_order(order_code)
  30. end
  31. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement