order reservation null issue checked
This commit is contained in:
@@ -53,45 +53,54 @@ class OrderReservation < ApplicationRecord
|
||||
Rails.logger.debug order_reserve.to_s
|
||||
check_order_reservation = OrderReservation.where("transaction_ref = ?",order_reserve[:reference])
|
||||
if check_order_reservation.empty?
|
||||
order_reservation = OrderReservation.new
|
||||
order_reservation.order_reservation_type = order_reserve[:order_type]
|
||||
order_reservation.customer_id = order_reserve[:cus_info]
|
||||
order_reservation.requested_time = Time.zone.parse(order_reserve[:requested_time]).utc
|
||||
if order_reserve[:pickup_time]
|
||||
order_reservation.pickup_time = Time.zone.parse(order_reserve[:pickup_time]).utc
|
||||
OrderReservation.transaction do
|
||||
begin
|
||||
order_reservation = OrderReservation.new
|
||||
order_reservation.order_reservation_type = order_reserve[:order_type]
|
||||
order_reservation.customer_id = order_reserve[:cus_info]
|
||||
order_reservation.requested_time = Time.zone.parse(order_reserve[:requested_time]).utc
|
||||
if order_reserve[:pickup_time]
|
||||
order_reservation.pickup_time = Time.zone.parse(order_reserve[:pickup_time]).utc
|
||||
end
|
||||
order_reservation.callback_url = order_reserve[:callback_url]
|
||||
order_reservation.transaction_ref = order_reserve[:reference]
|
||||
if order_reserve[:order_info]
|
||||
order_reservation.item_count = order_reserve[:order_info][:items].count
|
||||
order_reservation.payment_type = order_reserve[:payment_info][:payment_type]
|
||||
order_reservation.payment_status = order_reserve[:payment_info][:payment_status]
|
||||
order_reservation.payment_ref = order_reserve[:payment_info][:payment_ref]
|
||||
order_reservation.taxes = order_reserve[:payment_info][:taxes].to_json
|
||||
order_reservation.total_amount = order_reserve[:payment_info][:sub_total]
|
||||
order_reservation.total_tax = order_reserve[:payment_info][:total_tax]
|
||||
order_reservation.discount_amount = order_reserve[:payment_info][:discount_amount]
|
||||
order_reservation.convenience_charge = order_reserve[:payment_info][:convenience_charge]
|
||||
order_reservation.grand_total = order_reserve[:payment_info][:grand_total]
|
||||
order_reservation.transaction_fee = order_reserve[:payment_info][:transaction_fee]
|
||||
order_reservation.order_remark = order_reserve[:order_info][:order_remark]
|
||||
end
|
||||
if order_reserve[:reservation_info]
|
||||
order_reservation.total_customer = order_reserve[:reservation_info][:total_user]
|
||||
# order_reservation.order_remark = order_reserve[:reservation_info][:reservation_note]
|
||||
end
|
||||
order_reservation.save!
|
||||
if order_reserve[:order_info][:items]
|
||||
order_reserve[:order_info][:items].each do |oritem|
|
||||
OrderReservationItem.process_order_reservation_item(oritem[:product_code],oritem[:item_instance_code],oritem[:product_name],oritem[:product_alt_name],
|
||||
oritem[:account_id],oritem[:qty],oritem[:price],oritem[:unit_price],
|
||||
oritem[:options],nil,order_reservation.id)
|
||||
end
|
||||
end
|
||||
if order_reserve[:delivery_info]
|
||||
Delivery.addDeliveryInfo(order_reserve[:delivery_info],order_reservation.id)
|
||||
end
|
||||
|
||||
return order_reservation.id, true
|
||||
rescue ActiveRecord::StatementInvalid
|
||||
raise ActiveRecord::Rollback
|
||||
|
||||
return nil, false
|
||||
end
|
||||
end
|
||||
order_reservation.callback_url = order_reserve[:callback_url]
|
||||
order_reservation.transaction_ref = order_reserve[:reference]
|
||||
if order_reserve[:order_info]
|
||||
order_reservation.item_count = order_reserve[:order_info][:items].count
|
||||
order_reservation.payment_type = order_reserve[:payment_info][:payment_type]
|
||||
order_reservation.payment_status = order_reserve[:payment_info][:payment_status]
|
||||
order_reservation.payment_ref = order_reserve[:payment_info][:payment_ref]
|
||||
order_reservation.taxes = order_reserve[:payment_info][:taxes].to_json
|
||||
order_reservation.total_amount = order_reserve[:payment_info][:sub_total]
|
||||
order_reservation.total_tax = order_reserve[:payment_info][:total_tax]
|
||||
order_reservation.discount_amount = order_reserve[:payment_info][:discount_amount]
|
||||
order_reservation.convenience_charge = order_reserve[:payment_info][:convenience_charge]
|
||||
order_reservation.grand_total = order_reserve[:payment_info][:grand_total]
|
||||
order_reservation.transaction_fee = order_reserve[:payment_info][:transaction_fee]
|
||||
order_reservation.order_remark = order_reserve[:order_info][:order_remark]
|
||||
end
|
||||
if order_reserve[:reservation_info]
|
||||
order_reservation.total_customer = order_reserve[:reservation_info][:total_user]
|
||||
# order_reservation.order_remark = order_reserve[:reservation_info][:reservation_note]
|
||||
end
|
||||
order_reservation.save!
|
||||
if order_reserve[:order_info][:items]
|
||||
order_reserve[:order_info][:items].each do |oritem|
|
||||
OrderReservationItem.process_order_reservation_item(oritem[:product_code],oritem[:item_instance_code],oritem[:product_name],oritem[:product_alt_name],
|
||||
oritem[:account_id],oritem[:qty],oritem[:price],oritem[:unit_price],
|
||||
oritem[:options],nil,order_reservation.id)
|
||||
end
|
||||
end
|
||||
if order_reserve[:delivery_info]
|
||||
Delivery.addDeliveryInfo(order_reserve[:delivery_info],order_reservation.id)
|
||||
end
|
||||
return order_reservation.id, true
|
||||
else
|
||||
return check_order_reservation[0].id, false
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user