Merge branch 'master' of bitbucket.org:code2lab/sxrestaurant
This commit is contained in:
@@ -8,36 +8,43 @@ class OrderReservation < ApplicationRecord
|
||||
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.callback_url = params[:order_info][:callback_url]
|
||||
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[:order_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)
|
||||
check_order_reservation = OrderReservation.where("transaction_ref = ?",params[:reference])
|
||||
if check_order_reservation.empty?
|
||||
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")
|
||||
order_reservation.callback_url = params[:callback_url]
|
||||
order_reservation.transaction_ref = params[:reference]
|
||||
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[:order_info][:order_remark]
|
||||
end
|
||||
end
|
||||
if params[:delivery_info]
|
||||
Delivery.addDeliveryInfo(params[:delivery_info],order_reservation.id)
|
||||
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
|
||||
return order_reservation.id, true
|
||||
else
|
||||
return check_order_reservation[0].id, false
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -103,6 +103,31 @@ class SalePayment < ApplicationRecord
|
||||
rescue OpenURI::HTTPError
|
||||
response = { status: false}
|
||||
|
||||
rescue SocketError
|
||||
response = { status: false}
|
||||
end
|
||||
Rails.logger.debug "Get Paypar Account "
|
||||
Rails.logger.debug response.to_json
|
||||
return response
|
||||
end
|
||||
|
||||
def self.get_paypar_account_data(url,token,merchant_uid,auth_token,account_no,amount,receipt_no)
|
||||
# Control for Paypar Cloud
|
||||
begin
|
||||
response = HTTParty.get(url,
|
||||
:body => { merchant_uid:merchant_uid,auth_token:auth_token,receipt_no: receipt_no,
|
||||
account_no: account_no, amount: amount}.to_json,
|
||||
:headers => {
|
||||
'Content-Type' => 'application/json',
|
||||
'Accept' => 'application/json; version=3'
|
||||
}, :timeout => 10
|
||||
)
|
||||
rescue Net::OpenTimeout
|
||||
response = { status: false }
|
||||
|
||||
rescue OpenURI::HTTPError
|
||||
response = { status: false}
|
||||
|
||||
rescue SocketError
|
||||
response = { status: false}
|
||||
end
|
||||
@@ -378,7 +403,7 @@ class SalePayment < ApplicationRecord
|
||||
self.payment_amount = self.received_amount
|
||||
self.payment_reference = self.voucher_no
|
||||
self.outstanding_amount = self.sale.grand_total.to_f - self.received_amount.to_f
|
||||
self.payment_status = "pending"
|
||||
self.payment_status = "paid"
|
||||
payment_method = self.save!
|
||||
SalePayment.where(:sale_payment_id => self.sale_payment_id).update_all(:payment_status => 'paid')
|
||||
sale_update_payment_status(self.received_amount.to_f)
|
||||
@@ -410,10 +435,10 @@ class SalePayment < ApplicationRecord
|
||||
#Next time - validate if the vochure number is valid - within
|
||||
customer_data = Customer.find_by_customer_id(self.sale.customer_id)
|
||||
membership_setting = MembershipSetting.find_by_membership_type("paypar_url")
|
||||
membership_data = SalePayment.redeem(membership_setting.gateway_url,membership_setting.auth_token,customer_data.membership_id,self.received_amount,self.sale.sale_id)
|
||||
membership_data = SalePayment.create_payment(membership_setting.gateway_url,membership_setting.auth_token,customer_data.membership_id,self.received_amount,self.sale.sale_id)
|
||||
|
||||
#record an payment in sale-audit
|
||||
remark = "#{membership_data} Redeem- for Customer #{self.sale.customer_id} Sale Id [#{self.sale.sale_id}]| pay amount -> #{self.received_amount} "
|
||||
remark = "#{membership_data} Dinga Payment- for Customer #{self.sale.customer_id} Sale Id [#{self.sale.sale_id}]| pay amount -> #{self.received_amount} "
|
||||
sale_audit = SaleAudit.record_paymal(self.sale.sale_id, remark, 1)
|
||||
|
||||
if membership_data["status"]==true
|
||||
@@ -421,7 +446,7 @@ class SalePayment < ApplicationRecord
|
||||
self.payment_amount = self.received_amount
|
||||
self.payment_reference = self.voucher_no
|
||||
self.outstanding_amount = self.sale.grand_total.to_f - self.received_amount.to_f
|
||||
self.payment_status = "pending"
|
||||
self.payment_status = "paid"
|
||||
payment_method = self.save!
|
||||
SalePayment.where(:sale_payment_id => self.sale_payment_id).update_all(:payment_status => 'paid')
|
||||
sale_update_payment_status(self.received_amount.to_f)
|
||||
@@ -429,6 +454,7 @@ class SalePayment < ApplicationRecord
|
||||
else
|
||||
sale_update_payment_status(0)
|
||||
end
|
||||
|
||||
return payment_status
|
||||
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user