Class: SpreeCmCommissioner::Imports::UpdateOrderService
- Inherits:
-
BaseImportOrderService
- Object
- BaseImportOrderService
- SpreeCmCommissioner::Imports::UpdateOrderService
- Defined in:
- app/services/spree_cm_commissioner/imports/update_order_service.rb
Instance Attribute Summary
Attributes inherited from BaseImportOrderService
#fail_row_numbers, #import_order_id
Instance Method Summary collapse
Methods inherited from BaseImportOrderService
#call, #cleaned_value, #fetch_content, #import_order, #initialize, #record_failure, #save_fail_rows, #update_import_status_when_finish, #update_import_status_when_start
Constructor Details
This class inherits a constructor from SpreeCmCommissioner::Imports::BaseImportOrderService
Instance Method Details
#import_orders ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'app/services/spree_cm_commissioner/imports/update_order_service.rb', line 4 def import_orders content = fetch_content CSV.parse(content, headers: true).each.with_index(2) do |row, index| order_number = cleaned_value(row['order_number']) order = Spree::Order.find_by(number: order_number) unless order record_failure(index) next end guest_id = cleaned_value(row['guest_id']) seat_number = cleaned_value(row['seat_number']) guest = order.guests.find_by(seat_number: seat_number) || order.guests.find_by(id: guest_id) unless guest record_failure(index) next end guest_data = row.to_hash.symbolize_keys.slice(*SpreeCmCommissioner::Guest.csv_importable_columns) guest_data.compact_blank! if guest.update(guest_data) recalculate_order(order) else record_failure(index) end end end |
#recalculate_order(order) ⇒ Object
36 37 38 |
# File 'app/services/spree_cm_commissioner/imports/update_order_service.rb', line 36 def recalculate_order(order) order.update_with_updater! end |