order reservation action times

This commit is contained in:
phyusin
2018-09-11 11:56:18 +06:30
parent b60584c6d7
commit d7de89632f
4 changed files with 60 additions and 11 deletions

View File

@@ -11,7 +11,7 @@ class OrderReservation < ApplicationRecord
scope :latest_order, -> { order("order_reservation_id desc, created_at desc") }
SEND_TO_KITCHEN = "send_to_kitchen"
READY_TO_DELIVERY = "ready_to_deliver"
READY_TO_DELIVERY = "ready_to_delivery"
DELIVERED = "delivered"
COMPLETED = "completed"
@@ -134,7 +134,7 @@ class OrderReservation < ApplicationRecord
#order status send to doemal
callback_response = send_status_to_ordering(order.callback_url,order.transaction_ref,SEND_TO_KITCHEN)
#order reservation status updated
# order reservation status updated
update_order_reservation(order.id, @sale.sale_id, SEND_TO_KITCHEN)
result = {:status=> @status, :data => @sale, :message => "send to kitchen" }
@@ -237,6 +237,7 @@ class OrderReservation < ApplicationRecord
def self.update_order_reservation(id, sale_id, status, expected_waiting_time=nil, remark=nil, access_code=nil, current_user=nil)
order_reservation = OrderReservation.find(id)
action_times = {}
if sale_id.present?
order_reservation.sale_id = sale_id
end
@@ -252,11 +253,27 @@ class OrderReservation < ApplicationRecord
if status == "delivered"
order_reservation.payment_status = "paid"
end
if status == "accepted"
action_times = {"accepted_time" => DateTime.now.utc, "kitchen_time" => "", "ready_time" => ""}
order_reservation.action_times = action_times.to_json
elsif status == SEND_TO_KITCHEN
if !order_reservation.action_times.nil?
action_data = JSON.parse(order_reservation.action_times)
action_data["kitchen_time"] = DateTime.now.utc
order_reservation.action_times = action_data.to_json
end
elsif status == READY_TO_DELIVERY
if !order_reservation.action_times.nil?
action_data = JSON.parse(order_reservation.action_times)
action_data["ready_time"] = DateTime.now.utc
order_reservation.action_times = action_data.to_json
end
end
order_reservation.save
# if !order_reservation.sale_id.nil? && status == "rejected"
# void_doemal_payment(order_reservation.sale_id, remark, access_code, current_user)
# end
if !order_reservation.sale_id.nil? && status == "rejected"
void_doemal_payment(order_reservation.sale_id, remark, access_code, current_user)
end
end
def self.void_doemal_payment(sale_id, remark, access_code, current_user)