order reservation api
This commit is contained in:
47
app/models/order_reservation.rb
Normal file
47
app/models/order_reservation.rb
Normal file
@@ -0,0 +1,47 @@
|
||||
class OrderReservation < ApplicationRecord
|
||||
self.primary_key = "order_reservation_id"
|
||||
|
||||
#primary key - need to be unique generated for multiple shops
|
||||
before_create :generate_custom_id
|
||||
|
||||
has_many :order_reservation_items
|
||||
belongs_to :delivery
|
||||
|
||||
def self.addOrderReservationInfo(params)
|
||||
order_reservation = OrderReservation.new
|
||||
order_reservation.order_reservation_type = params[:order_type]
|
||||
order_reservation.customer_id = params[:cus_info]
|
||||
order_reservation.requested_time = Time.parse(params[:requested_time]).utc.strftime("%Y-%m-%d %H:%M:%S")
|
||||
if params[:order_info]
|
||||
order_reservation.item_count = params[:order_info][:items].count
|
||||
order_reservation.payment_type = params[:payment_info][:payment_type]
|
||||
order_reservation.payment_status = params[:payment_info][:payment_status]
|
||||
order_reservation.payment_ref = params[:payment_info][:payment_ref]
|
||||
order_reservation.total_amount = params[:payment_info][:sub_total]
|
||||
order_reservation.total_tax = params[:payment_info][:total_tax]
|
||||
order_reservation.discount_amount = params[:payment_info][:discount_amount]
|
||||
order_reservation.grand_total = params[:payment_info][:grand_total]
|
||||
order_reservation.order_remark = params[:payment_info][:order_remark]
|
||||
end
|
||||
if params[:reservation_info]
|
||||
order_reservation.total_customer = params[:reservation_info][:total_user]
|
||||
order_reservation.reservation_remark = params[:reservation_info][:reservation_note]
|
||||
end
|
||||
order_reservation.save!
|
||||
if params[:order_info][:items]
|
||||
params[: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 params[:delivery_info]
|
||||
Delivery.addDeliveryInfo(params[:delivery_info],order_reservation.id)
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
def generate_custom_id
|
||||
self.order_reservation_id = SeedGenerator.generate_id(self.class.name, "ODRS")
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user