card payment

This commit is contained in:
Myat Zin Wai Maw
2019-11-27 15:05:42 +06:30
parent 98b74af6cf
commit fe5dc6bb5a
15 changed files with 93 additions and 78 deletions

5
.gitignore vendored
View File

@@ -67,3 +67,8 @@ config/shops.json
#Seed Generator Backup File #Seed Generator Backup File
/app/models/seed_generator_bk.rb /app/models/seed_generator_bk.rb
# crt and key
*.crt
*.key
*.pid

View File

@@ -9,7 +9,7 @@ class Api::Restaurant::MenuController < Api::ApiController
# checksum = File.readlines("public/checksums/menu_json.txt").pop.chomp # checksum = File.readlines("public/checksums/menu_json.txt").pop.chomp
shop_code = params[:shop_code] shop_code = params[:shop_code]
all_menu = Menu.where('shop_id=?',shop_code).active.all all_menu = Menu.where('shop_code=?',shop_code).active.all
@request_url = '' @request_url = ''
if ENV["SERVER_MODE"] == "cloud" if ENV["SERVER_MODE"] == "cloud"
@request_url = request.base_url @request_url = request.base_url

View File

@@ -18,7 +18,7 @@ module LoginVerification
def current_shop def current_shop
begin begin
shop_code ='262' shop_code ='263'
@shop =Shop.find_by_shop_code(shop_code) @shop =Shop.find_by_shop_code(shop_code)
return @shop return @shop
rescue rescue
@@ -42,7 +42,7 @@ module LoginVerification
#Shop Name in Navbor #Shop Name in Navbor
def shop_detail def shop_detail
shop_code ='262' shop_code ='263'
@shop = Shop.find_by_shop_code(shop_code) @shop = Shop.find_by_shop_code(shop_code)
return @shop return @shop
end end

View File

@@ -17,14 +17,14 @@ class Origami::FoodCourtController < ApplicationController
# @menus = Menu.all # @menus = Menu.all
# @menu = MenuCategory.active.where("menu_id =#{@menus[0].id}").order('order_by asc') # @menu = MenuCategory.active.where("menu_id =#{@menus[0].id}").order('order_by asc')
# end # end
@zone = Zone.all @zone = Zone.all.where("shop_code='#{@shop.shop_code}' and is_active= true")
@customer = Customer.all @customer = Customer.all
@tables = Table.all.active.order('status desc') @tables = Table.all.active.where("shop_code='#{@shop.shop_code}'").order('status desc')
@rooms = Room.all.active.order('status desc') @rooms = Room.all.active.where("shop_code='#{@shop.shop_code}'").order('status desc')
@cashier_type = "food_court" @cashier_type = "food_court"
#checked quick_service only #checked quick_service only
@quick_service_only = true @quick_service_only = true
lookup_dine_in = Lookup.collection_of('dinein_cashier') lookup_dine_in = Lookup.where("shop_code='#{@shop.shop_code}'").collection_of('dinein_cashier')
if !lookup_dine_in.empty? if !lookup_dine_in.empty?
lookup_dine_in.each do |dine_in| lookup_dine_in.each do |dine_in|
if dine_in[0].downcase == "dineincashier" if dine_in[0].downcase == "dineincashier"
@@ -156,7 +156,7 @@ class Origami::FoodCourtController < ApplicationController
end end
def get_all_product() def get_all_product()
@product = Product.all @product = Product..where("shop_code='#{@shop.shop_code}'")
end end
# render json for http status code # render json for http status code
@@ -186,12 +186,6 @@ class Origami::FoodCourtController < ApplicationController
end end
end end
end end
def check_user
if current_user.nil?
redirect_to root_path
end
end
# this can always true # this can always true
def check_order_with_booking(booking) def check_order_with_booking(booking)
if booking.sale.sale_status == "completed" || booking.sale.sale_status == "new" if booking.sale.sale_status == "completed" || booking.sale.sale_status == "new"

View File

@@ -33,9 +33,9 @@ class Origami::PaymalController < BaseOrigamiController
if customer_data if customer_data
@membership_id = customer_data.membership_id @membership_id = customer_data.membership_id
if !@membership_id.nil? if !@membership_id.nil?
membership_setting = MembershipSetting.find_by_membership_type("paypar_url") membership_setting = MembershipSetting.find_by_membership_type_and_shop_code("paypar_url",@shop.shop_code)
if membership_setting.gateway_url if membership_setting.gateway_url
member_actions =MembershipAction.find_by_membership_type("get_account_balance") member_actions =MembershipAction.find_by_membership_type_and_shop_code("get_account_balance",@shop.shop_code)
if member_actions.gateway_url if member_actions.gateway_url
@campaign_type_id = nil @campaign_type_id = nil
url = membership_setting.gateway_url.to_s + member_actions.gateway_url.to_s url = membership_setting.gateway_url.to_s + member_actions.gateway_url.to_s
@@ -72,7 +72,6 @@ def create
sale_id = params[:sale_id] sale_id = params[:sale_id]
transaction_ref = params[:transaction_ref] transaction_ref = params[:transaction_ref]
account_no = params[:account_no] account_no = params[:account_no]
puts params.to_json
if(Sale.exists?(sale_id)) if(Sale.exists?(sale_id))
saleObj = Sale.find(sale_id) saleObj = Sale.find(sale_id)
# shop_details = Shop.first # shop_details = Shop.first
@@ -87,6 +86,7 @@ def create
# saleObj = Sale.find(sale_id) # saleObj = Sale.find(sale_id)
sale_payment = SalePayment.new sale_payment = SalePayment.new
status, @sale,@membership_data = sale_payment.process_payment(saleObj, current_user, cash, "paymal",account_no) status, @sale,@membership_data = sale_payment.process_payment(saleObj, current_user, cash, "paymal",account_no)
if status == true && @membership_data["status"] == true if status == true && @membership_data["status"] == true
@out = true, "Success!" @out = true, "Success!"
else else

View File

@@ -26,7 +26,7 @@ class Settings::PaymentMethodSettingsController < ApplicationController
# POST /settings/payment_method_settings.json # POST /settings/payment_method_settings.json
def create def create
@settings_payment_method_setting = PaymentMethodSetting.new(settings_payment_method_setting_params) @settings_payment_method_setting = PaymentMethodSetting.new(settings_payment_method_setting_params)
@settings_payment_method_settings.shop_code = @shop.shop_code @settings_payment_method_setting.shop_code = @shop.shop_code
respond_to do |format| respond_to do |format|
if @settings_payment_method_setting.save if @settings_payment_method_setting.save
format.html { redirect_to settings_payment_method_settings_path, notice: 'Payment method setting was successfully created.' } format.html { redirect_to settings_payment_method_settings_path, notice: 'Payment method setting was successfully created.' }

View File

@@ -171,7 +171,8 @@ class SalePayment < ApplicationRecord
#record an payment in sale-audit #record an payment in sale-audit
remark = "Payment failed - Grand Total [#{invoice.grand_total}] | Due [#{amount_due}] | Paid [#{invoice.amount_received}]" remark = "Payment failed - Grand Total [#{invoice.grand_total}] | Due [#{amount_due}] | Paid [#{invoice.amount_received}]"
sale_audit = SaleAudit.record_payment(invoice.id, remark,action_by.name) sale_audit = SaleAudit.record_payment(invoice.id, remark,action_by.name)
return false, "Payment failed" # return false, "Payment failed"
return false, self.save,membership_data
end end
else else
#record an payment in sale-audit #record an payment in sale-audit
@@ -303,8 +304,8 @@ class SalePayment < ApplicationRecord
def self.create_payment(paypar_url,payment_type,membership_id,received_amount,sale_id) def self.create_payment(paypar_url,payment_type,membership_id,received_amount,sale_id)
# membership_actions_data = MembershipAction.find_by_membership_type("create_payment"); # membership_actions_data = MembershipAction.find_by_membership_type("create_payment");
membership_actions_data = PaymentMethodSetting.find_by_payment_method(payment_type)
sale_data = Sale.find_by_sale_id(sale_id) sale_data = Sale.find_by_sale_id(sale_id)
membership_actions_data = PaymentMethodSetting.find_by_payment_method_and_shop_code(payment_type,sale_data.shop_code)
customer_data = Customer.find_by_customer_id(sale_data.customer_id) customer_data = Customer.find_by_customer_id(sale_data.customer_id)
if !membership_actions_data.nil? if !membership_actions_data.nil?
@@ -543,7 +544,7 @@ class SalePayment < ApplicationRecord
# if account_no.to_i <= 0 # if account_no.to_i <= 0
# account_no = customer_data.membership_id # account_no = customer_data.membership_id
# end # end
membership_setting = MembershipSetting.find_by_membership_type("paypar_url") membership_setting = MembershipSetting.find_by_membership_type_and_shop_code("paypar_url",self.sale.shop_code)
membership_data = SalePayment.create_payment(membership_setting.gateway_url,"PAYMAL",account_no,self.received_amount,self.sale.sale_id) membership_data = SalePayment.create_payment(membership_setting.gateway_url,"PAYMAL",account_no,self.received_amount,self.sale.sale_id)
#record an payment in sale-audit #record an payment in sale-audit
@@ -686,7 +687,7 @@ class SalePayment < ApplicationRecord
self.sale.sale_status = "completed" self.sale.sale_status = "completed"
if MembershipSetting.find_by_rebate(1) && is_foc == 0 && is_credit == 0 if MembershipSetting.find_by_rebate_and_shop_code(1,self.sale.shop_code) && is_foc == 0 && is_credit == 0
response = rebat(sObj) response = rebat(sObj)
#record an payment in sale-audit #record an payment in sale-audit
@@ -845,8 +846,8 @@ class SalePayment < ApplicationRecord
overall_dis = sObj.total_discount overall_dis = sObj.total_discount
if credit != 1 if credit != 1
membership = MembershipSetting.find_by_membership_type("paypar_url") membership = MembershipSetting.find_by_membership_type_and_shop_code("paypar_url",sObj.shop_code)
memberaction = MembershipAction.find_by_membership_type("get_member_campaign") memberaction = MembershipAction.find_by_membership_type_and_shop_code("get_member_campaign",sObj.shop_code)
merchant_uid = memberaction.merchant_account_id.to_s merchant_uid = memberaction.merchant_account_id.to_s
campaign_type_id = memberaction.additional_parameter["campaign_type_id"] campaign_type_id = memberaction.additional_parameter["campaign_type_id"]
auth_token = memberaction.auth_token.to_s auth_token = memberaction.auth_token.to_s
@@ -930,8 +931,8 @@ class SalePayment < ApplicationRecord
if total_amount >= 0 if total_amount >= 0
receipt_no = sObj.receipt_no receipt_no = sObj.receipt_no
membership = MembershipSetting.find_by_membership_type("paypar_url") membership = MembershipSetting.find_by_membership_type_and_shop_code("paypar_url",sObj.shop_code)
memberaction = MembershipAction.find_by_membership_type("rebate") memberaction = MembershipAction.find_by_membership_type_and_shop_code("rebate",sObj.shop_code)
merchant_uid = memberaction.merchant_account_id.to_s merchant_uid = memberaction.merchant_account_id.to_s
campaign_type_id = memberaction.additional_parameter["campaign_type_id"] campaign_type_id = memberaction.additional_parameter["campaign_type_id"]
auth_token = memberaction.auth_token.to_s auth_token = memberaction.auth_token.to_s
@@ -962,7 +963,7 @@ class SalePayment < ApplicationRecord
rescue SocketError rescue SocketError
response = { "status": false, "message": "Can't connect server"} response = { "status": false, "message": "Can't connect server"}
end end
Rails.logger.debug "Rebage Response" Rails.logger.debug "Rebate Response"
Rails.logger.debug response.to_json Rails.logger.debug response.to_json
return response return response
end end

View File

@@ -3,7 +3,7 @@ if @status == true
json.id @order.id json.id @order.id
json.booking_id @booking.id json.booking_id @booking.id
json.order_items do json.order_items do
json.array! @order.order_items, :item_code, :item_name, :qty, :options, :remark json.array! @order.order_items, :item_code, :item_name, :qty, :options, :remark,:price
end end
else else
json.status :error json.status :error

View File

@@ -24,6 +24,16 @@ module SXRestaurants
config.active_job.queue_adapter = :sidekiq config.active_job.queue_adapter = :sidekiq
config.time_zone = 'Asia/Rangoon' config.time_zone = 'Asia/Rangoon'
config.middleware.insert_before ActionDispatch::Static, Rack::Cors do
allow do
origins '*'
resource(
'*',
headers: :any,
methods: [:get, :patch, :put, :delete, :post, :options]
)
end
end
end end
end end

View File

@@ -1,11 +1,11 @@
application_path="#{File.expand_path("../..", __FILE__)}" # application_path="#{File.expand_path("../..", __FILE__)}"
directory application_path # directory application_path
#environment ENV.fetch("RAILS_ENV") { "production" } # #environment ENV.fetch("RAILS_ENV") { "production" }
environment "production" # environment "production"
pidfile "#{application_path}/tmp/puma/pid" # pidfile "#{application_path}/tmp/puma/pid"
state_path "#{application_path}/tmp/puma/state" # state_path "#{application_path}/tmp/puma/state"
stdout_redirect "#{application_path}/log/puma.stdout.log", "#{application_path}/log/puma.stderr.log" # stdout_redirect "#{application_path}/log/puma.stdout.log", "#{application_path}/log/puma.stderr.log"
port ENV.fetch("PORT") { 62158 } # port ENV.fetch("PORT") { 62158 }
workers 2 # workers 2
preload_app! # preload_app!
threads 1,1 # threads 1,1

View File

@@ -0,0 +1,5 @@
class AddShopCodeMembershipAction < ActiveRecord::Migration[5.1]
def change
add_column :membership_actions, :shop_code, :string, :default => '262'
end
end