Merge branch 'r-1902001-01-dev' of gitlab.com:code2lab/SXRestaurant into r-1902001-01-dev
This commit is contained in:
@@ -115,7 +115,7 @@ class Origami::PaymentsController < BaseOrigamiController
|
|||||||
sale_payment = SalePayment.new
|
sale_payment = SalePayment.new
|
||||||
sale_payment.process_kbz_payment(sale_id, sale_data.grand_total, 0, 'pending')
|
sale_payment.process_kbz_payment(sale_id, sale_data.grand_total, 0, 'pending')
|
||||||
|
|
||||||
status, qr = KbzPay.pay(sale_data.grand_total, sale_payment.sale_payment_id, kbz_pay_method.gateway_url, kbz_pay_method.auth_token, kbz_pay_method.merchant_account_id, kbz_pay_method.additional_parameters)
|
status, qr = KbzPay.pay(sale_data.grand_total.to_i, sale_payment.sale_payment_id, kbz_pay_method.gateway_url, kbz_pay_method.auth_token, kbz_pay_method.merchant_account_id, kbz_pay_method.additional_parameters)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ authorize_resource :class => false
|
|||||||
:body => { :orders => @orders,
|
:body => { :orders => @orders,
|
||||||
:order_items => @order_items,
|
:order_items => @order_items,
|
||||||
:sale_orders => @sale_orders,
|
:sale_orders => @sale_orders,
|
||||||
:sale => @sales,
|
:sales => @sales,
|
||||||
:sale_items => @sale_items,
|
:sale_items => @sale_items,
|
||||||
:sale_audits => @sale_audits,
|
:sale_audits => @sale_audits,
|
||||||
:sale_payments => @sale_payments,
|
:sale_payments => @sale_payments,
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ class AssignedOrderItem < ApplicationRecord
|
|||||||
order_item.delivery_status = item['delivery_status']
|
order_item.delivery_status = item['delivery_status']
|
||||||
order_item.save
|
order_item.save
|
||||||
end
|
end
|
||||||
puts '....... Assigned Order Item sync completed .......'
|
Rails.logger.debug '....... Assigned Order Item sync completed .......'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -3,21 +3,22 @@ class KbzPay
|
|||||||
KBZ_PAY = 'KBZPay'
|
KBZ_PAY = 'KBZPay'
|
||||||
|
|
||||||
def self.pay(amount, receipt_no, url, key, app_id, code)
|
def self.pay(amount, receipt_no, url, key, app_id, code)
|
||||||
|
shop = Shop.first
|
||||||
|
prefix = shop.shop_code
|
||||||
|
receipt_no = "#{prefix}#{receipt_no}"
|
||||||
|
|
||||||
datetime = DateTime.now.strftime("%d%m%Y%H%M")
|
datetime = DateTime.now.strftime("%d%m%Y%H%M")
|
||||||
kbz_app_id = app_id
|
kbz_app_id = app_id
|
||||||
kbz_merch_code = code
|
kbz_merch_code = code
|
||||||
# kbz_app_id = "kp1e78f7efddca190042638341afb88d"
|
kbz_api_key = key
|
||||||
# kbz_merch_code = "200004"
|
kbz_provider_url = "#{url}/precreate"
|
||||||
|
|
||||||
kbz_method = 'kbz.payment.precreate'
|
kbz_method = 'kbz.payment.precreate'
|
||||||
kbz_trade_type = "PAY_BY_QRCODE"
|
kbz_trade_type = "PAY_BY_QRCODE"
|
||||||
kbz_api_key = key
|
|
||||||
# kbz_api_key = "code2lab123456"
|
|
||||||
kbz_version = "1.0"
|
kbz_version = "1.0"
|
||||||
kbz_provider_url = url
|
|
||||||
# kbz_provider_url = "http://api.kbzpay.com/payment/gateway/uat/precreate"
|
|
||||||
kbz_currency = "MMK"
|
kbz_currency = "MMK"
|
||||||
kbz_callback_url = "https://staging-v2.doemal.com/api/v3/ordering/kbz_callback"
|
kbz_callback_url = "https://staging-v2.doemal.com/api/v3/ordering/kbz_callback"
|
||||||
|
|
||||||
nounce_str = SecureRandom.base64(32).first(32).upcase
|
nounce_str = SecureRandom.base64(32).first(32).upcase
|
||||||
|
|
||||||
params = "appid="+kbz_app_id+"&merch_code="+kbz_merch_code+"&merch_order_id="+receipt_no.to_s+"&method="+kbz_method+"&nonce_str="+nounce_str.to_s+"¬ify_url="+ kbz_callback_url + "&timeout_express=20m×tamp="+datetime+"&total_amount="+amount.to_s+"&trade_type="+kbz_trade_type+"&trans_currency="+ kbz_currency+"&version="+kbz_version+"&key="+kbz_api_key
|
params = "appid="+kbz_app_id+"&merch_code="+kbz_merch_code+"&merch_order_id="+receipt_no.to_s+"&method="+kbz_method+"&nonce_str="+nounce_str.to_s+"¬ify_url="+ kbz_callback_url + "&timeout_express=20m×tamp="+datetime+"&total_amount="+amount.to_s+"&trade_type="+kbz_trade_type+"&trans_currency="+ kbz_currency+"&version="+kbz_version+"&key="+kbz_api_key
|
||||||
@@ -48,29 +49,35 @@ class KbzPay
|
|||||||
:headers => { 'Content-Type' => 'application/json', 'Accept' => 'application/json' }
|
:headers => { 'Content-Type' => 'application/json', 'Accept' => 'application/json' }
|
||||||
)
|
)
|
||||||
Rails.logger.info result
|
Rails.logger.info result
|
||||||
|
Rails.logger.info '===================================='
|
||||||
if result['Response']['result'] == "SUCCESS"
|
if result['Response']['result'] == "SUCCESS"
|
||||||
#TODO QR return
|
#TODO QR return
|
||||||
qr = result['Response']['qrCode']
|
qr = result['Response']['qrCode']
|
||||||
return true, qr
|
return true, qr
|
||||||
else
|
else
|
||||||
|
# Rails.logger.debug result['Response']
|
||||||
return false, result['Response']
|
return false, result['Response']
|
||||||
puts result['Response']
|
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.query(receipt_no, current_user)
|
def self.query(receipt_no, current_user, url, key, app_id, code)
|
||||||
|
shop = Shop.first
|
||||||
|
prefix = shop.shop_code
|
||||||
|
receipt_no = "#{prefix}#{receipt_no}"
|
||||||
amount = 0
|
amount = 0
|
||||||
datetime = DateTime.now.strftime("%d%m%Y%H%M")
|
datetime = DateTime.now.strftime("%d%m%Y%H%M")
|
||||||
kbz_app_id = "kp1e78f7efddca190042638341afb88d"
|
kbz_app_id = app_id
|
||||||
kbz_merch_code = "200004"
|
kbz_merch_code = code
|
||||||
|
kbz_api_key = key
|
||||||
|
kbz_provider_url = "#{url}/queryorder"
|
||||||
|
|
||||||
kbz_method = 'kbz.payment.queryorder'
|
kbz_method = 'kbz.payment.queryorder'
|
||||||
kbz_trade_type = "APP"
|
kbz_trade_type = "PAY_BY_QRCODE"
|
||||||
kbz_api_key = "code2lab123456"
|
|
||||||
kbz_version = "1.0"
|
kbz_version = "1.0"
|
||||||
kbz_provider_url = "http://api.kbzpay.com/payment/gateway/uat/queryorder"
|
|
||||||
kbz_currency = "MMK"
|
kbz_currency = "MMK"
|
||||||
kbz_callback_url = "https://staging-v2.doemal.com/api/v3/ordering/kbz_callback"
|
kbz_callback_url = "https://staging-v2.doemal.com/api/v3/ordering/kbz_callback"
|
||||||
|
|
||||||
nounce_str = SecureRandom.base64(32).first(32).upcase
|
nounce_str = SecureRandom.base64(32).first(32).upcase
|
||||||
|
|
||||||
params = "appid="+kbz_app_id+"&merch_code="+kbz_merch_code+"&merch_order_id="+receipt_no.to_s+"&method="+kbz_method+"&nonce_str="+nounce_str.to_s+"×tamp="+datetime+"&version="+kbz_version+"&key="+kbz_api_key
|
params = "appid="+kbz_app_id+"&merch_code="+kbz_merch_code+"&merch_order_id="+receipt_no.to_s+"&method="+kbz_method+"&nonce_str="+nounce_str.to_s+"×tamp="+datetime+"&version="+kbz_version+"&key="+kbz_api_key
|
||||||
@@ -101,6 +108,8 @@ class KbzPay
|
|||||||
merch_order_id = result['Response']['merch_order_id']
|
merch_order_id = result['Response']['merch_order_id']
|
||||||
cash = result['Response']['total_amount']
|
cash = result['Response']['total_amount']
|
||||||
|
|
||||||
|
merch_order_id.slice! "#{prefix}"
|
||||||
|
|
||||||
sp = SalePayment.find(merch_order_id)
|
sp = SalePayment.find(merch_order_id)
|
||||||
if !sp.nil?
|
if !sp.nil?
|
||||||
if sp.payment_status == 'pending'
|
if sp.payment_status == 'pending'
|
||||||
|
|||||||
@@ -584,7 +584,7 @@ class Order < ApplicationRecord
|
|||||||
order.guest_info = o['guest_info']
|
order.guest_info = o['guest_info']
|
||||||
order.save
|
order.save
|
||||||
end
|
end
|
||||||
puts '...... order sync completed .....'
|
Rails.logger.debug '...... order sync completed .....'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ class OrderItem < ApplicationRecord
|
|||||||
order_item.completed_by = item['completed_by']
|
order_item.completed_by = item['completed_by']
|
||||||
order_item.save
|
order_item.save
|
||||||
end
|
end
|
||||||
puts '...... order item sync completed. .....'
|
Rails.logger.debug '...... order item sync completed. .....'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ class Sale < ApplicationRecord
|
|||||||
sale.equal_persons = s['equal_persons']
|
sale.equal_persons = s['equal_persons']
|
||||||
sale.save
|
sale.save
|
||||||
end
|
end
|
||||||
puts '........ Sale data sync completed .......'
|
Rails.logger.debug '........ Sale data sync completed .......'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
def generate_invoice_from_booking(booking_id, requested_by, cashier, order_source = nil, current_checkin_induties_count)
|
def generate_invoice_from_booking(booking_id, requested_by, cashier, order_source = nil, current_checkin_induties_count)
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ class SaleAudit < ApplicationRecord
|
|||||||
sale_audit.remark = sa['remark']
|
sale_audit.remark = sa['remark']
|
||||||
sale_audit.save
|
sale_audit.save
|
||||||
end
|
end
|
||||||
puts '....... Sale Audit sync completed .......'
|
Rails.logger.debug '....... Sale Audit sync completed .......'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ class SaleItem < ApplicationRecord
|
|||||||
sale_item['is_taxable'] = si['is_taxable']
|
sale_item['is_taxable'] = si['is_taxable']
|
||||||
sale_item.save
|
sale_item.save
|
||||||
end
|
end
|
||||||
puts '....... Sale Item sync completed ......'
|
Rails.logger.debug '....... Sale Item sync completed ......'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -62,29 +62,29 @@ class SaleItem < ApplicationRecord
|
|||||||
item.save
|
item.save
|
||||||
menu_category = MenuCategory.get_menu_category(item.product_code) #get menu category for menu items
|
menu_category = MenuCategory.get_menu_category(item.product_code) #get menu category for menu items
|
||||||
|
|
||||||
sale_item = SaleItem.new
|
# sale_item = SaleItem.new
|
||||||
sale_item.menu_category_code = menu_category.code ? menu_category.code : nil
|
# sale_item.menu_category_code = menu_category.code ? menu_category.code : nil
|
||||||
sale_item.menu_category_name = menu_category.name
|
# sale_item.menu_category_name = menu_category.name
|
||||||
sale_item.product_code = item.product_code
|
# sale_item.product_code = item.product_code
|
||||||
sale_item.item_instance_code = item.item_instance_code
|
# sale_item.item_instance_code = item.item_instance_code
|
||||||
sale_item.product_name = item.product_name + " (#{type.upcase})"
|
# sale_item.product_name = item.product_name + " (#{type.upcase})"
|
||||||
sale_item.product_alt_name = item.product_alt_name
|
# sale_item.product_alt_name = item.product_alt_name
|
||||||
sale_item.account_id = item.account_id
|
# sale_item.account_id = item.account_id
|
||||||
sale_item.status = type
|
# sale_item.status = type
|
||||||
sale_item.remark = type
|
# sale_item.remark = type
|
||||||
if type == "foc" || type == "promotion" || type == "void" || type == "waste" || type == "spoile"
|
# if type == "foc" || type == "promotion" || type == "void" || type == "waste" || type == "spoile"
|
||||||
sale_item.qty = qty * (-1)
|
# sale_item.qty = qty * (-1)
|
||||||
else
|
# else
|
||||||
sale_item.qty = qty
|
# sale_item.qty = qty
|
||||||
end
|
# end
|
||||||
|
|
||||||
sale_item.unit_price = item_price # * (-1)
|
# sale_item.unit_price = item_price # * (-1)
|
||||||
sale_item.taxable_price = (price) * (-1)
|
# sale_item.taxable_price = (price) * (-1)
|
||||||
sale_item.price = (price) * (-1)
|
# sale_item.price = (price) * (-1)
|
||||||
|
|
||||||
sale_item.is_taxable = 1
|
# sale_item.is_taxable = 1
|
||||||
sale_item.sale_id = sale_id
|
# sale_item.sale_id = sale_id
|
||||||
sale_item.save
|
# sale_item.save
|
||||||
sale = Sale.find(sale_id)
|
sale = Sale.find(sale_id)
|
||||||
sale.compute_by_sale_items(sale.id, sale.sale_items, sale.total_discount)
|
sale.compute_by_sale_items(sale.id, sale.sale_items, sale.total_discount)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ class SaleOrder < ApplicationRecord
|
|||||||
sale_order.order_id = so['order_id']
|
sale_order.order_id = so['order_id']
|
||||||
sale_order.save
|
sale_order.save
|
||||||
end
|
end
|
||||||
puts '......... Sale Order sync completed ........'
|
Rails.logger.debug '......... Sale Order sync completed ........'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -25,16 +25,17 @@ class SalePayment < ApplicationRecord
|
|||||||
payment.payment_status = sp['payment_status']
|
payment.payment_status = sp['payment_status']
|
||||||
payment.save
|
payment.save
|
||||||
end
|
end
|
||||||
puts '....... Sale Payment sync completed ......'
|
Rails.logger.debug '....... Sale Payment sync completed ......'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.get_kbz_pay_amount(sale_id, current_user)
|
def self.get_kbz_pay_amount(sale_id, current_user)
|
||||||
amount = 0
|
amount = 0
|
||||||
|
kbz_pay_method = PaymentMethodSetting.where(:payment_method => KbzPay::KBZ_PAY).last
|
||||||
sale_payment = SalePayment.where('sale_id=? and payment_method=? and payment_status!=?', sale_id, KbzPay::KBZ_PAY, 'dead').last
|
sale_payment = SalePayment.where('sale_id=? and payment_method=? and payment_status!=?', sale_id, KbzPay::KBZ_PAY, 'dead').last
|
||||||
if !sale_payment.nil?
|
if !sale_payment.nil? and !kbz_pay_method.nil?
|
||||||
if sale_payment.payment_status == 'pending'
|
if sale_payment.payment_status == 'pending'
|
||||||
amount = KbzPay.query(sale_payment.id, current_user)
|
amount = KbzPay.query(sale_payment.id, current_user, kbz_pay_method.gateway_url, kbz_pay_method.auth_token, kbz_pay_method.merchant_account_id, kbz_pay_method.additional_parameters)
|
||||||
elsif sale_payment.payment_status == 'paid'
|
elsif sale_payment.payment_status == 'paid'
|
||||||
amount = sale_payment.payment_amount
|
amount = sale_payment.payment_amount
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ class SaleTax < ApplicationRecord
|
|||||||
tax.inclusive = t['inclusive']
|
tax.inclusive = t['inclusive']
|
||||||
tax.save
|
tax.save
|
||||||
end
|
end
|
||||||
puts '...... Sale Tax sync completed .....'
|
Rails.logger.debug '...... Sale Tax sync completed .....'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ class SeedGenerator < ApplicationRecord
|
|||||||
seed.next = sg['next']
|
seed.next = sg['next']
|
||||||
seed.save
|
seed.save
|
||||||
end
|
end
|
||||||
puts '....... Seed Generator sync completed! .......'
|
Rails.logger.debug '....... Seed Generator sync completed! .......'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ class ShiftSale < ApplicationRecord
|
|||||||
shift_sale = nil
|
shift_sale = nil
|
||||||
|
|
||||||
# if ShiftSale.exists?(ss['id'])
|
# if ShiftSale.exists?(ss['id'])
|
||||||
shift_sale = ShiftSale.find(ss['id'])
|
shift_sale = ShiftSale.find_by_id(ss['id'])
|
||||||
# status = 'updated'
|
# status = 'updated'
|
||||||
if shift_sale.nil?
|
if shift_sale.nil?
|
||||||
shift_sale = ShiftSale.new
|
shift_sale = ShiftSale.new
|
||||||
@@ -73,7 +73,7 @@ class ShiftSale < ApplicationRecord
|
|||||||
shift_sale.save
|
shift_sale.save
|
||||||
|
|
||||||
end
|
end
|
||||||
puts "....... Shift Sale sync completed ......"
|
Rails.logger.debug "....... Shift Sale sync completed ......"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user