diff --git a/app/models/sale_item.rb b/app/models/sale_item.rb index 71373f2d..a999b6a8 100644 --- a/app/models/sale_item.rb +++ b/app/models/sale_item.rb @@ -36,11 +36,13 @@ class SaleItem < ApplicationRecord beverage_prices=0 sale_items.each do |si| - food_price, beverage_price = self.get_price(si.sale_item_id) + food_price, beverage_price = self.get_price(si.sale_item_id) food_prices = food_prices + food_price beverage_prices = beverage_prices + beverage_price end + puts food_prices + puts beverage_prices return food_prices, beverage_prices end @@ -54,11 +56,22 @@ class SaleItem < ApplicationRecord .where("sale_items.sale_item_id=?", sale_item_id.to_s) if item[0].account_id == 1 food_price = item[0].price - else + else beverage_price = item[0].price end - return food_price, beverage_price + return food_price, beverage_price + end + + def self.get_overall_discount(sale_id) + price = 0.0 + item=SaleItem.where("product_code=?", sale_id) + + item.each do|i| + price += i.price + end + + return price end private diff --git a/app/models/sale_payment.rb b/app/models/sale_payment.rb index 2b0035f3..3b67648c 100644 --- a/app/models/sale_payment.rb +++ b/app/models/sale_payment.rb @@ -67,15 +67,18 @@ class SalePayment < ApplicationRecord end def self.get_paypar_account(url,token,membership_id,campaign_type_id,merchant_uid,auth_token) - response = HTTParty.get(url, + begin + response = HTTParty.get(url, :body => { app_token: token,membership_id:membership_id,campaign_type_id:campaign_type_id,merchant_uid:merchant_uid,auth_token:auth_token}.to_json, :headers => { 'Content-Type' => 'application/json', 'Accept' => 'application/json' - } + }, :timeout => 10 ) - return response; - + rescue Net::OpenTimeout + response = { status: false } + end + return response; end def self.redeem(paypar_url,token,membership_id,received_amount,sale_id) @@ -187,17 +190,17 @@ class SalePayment < ApplicationRecord payment_status = false #Next time - validate if the vochure number is valid - within - self.payment_method = "paypar" - 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" - payment_method = self.save! 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) if membership_data["status"]==true + self.payment_method = "paypar" + 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" + 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) @@ -251,7 +254,12 @@ class SalePayment < ApplicationRecord payparcost = payparcost + pp.payment_amount end end - total_amount = food_prices - payparcost + overall_dis = SaleItem.get_overall_discount(sObj.id) + total_amount = food_prices - payparcost + overall_dis + puts "total_amount" + puts food_prices + puts payparcost + puts total_amount if total_amount > 0 receipt_no = sObj.receipt_no membership = MembershipSetting.find_by_membership_type("paypar_url") @@ -272,7 +280,7 @@ class SalePayment < ApplicationRecord response = { status: false } end - puts response.to_json + # puts response.to_json end end end diff --git a/app/views/origami/jcb/index.html.erb b/app/views/origami/jcb/index.html.erb index 6d08b25a..9c239931 100644 --- a/app/views/origami/jcb/index.html.erb +++ b/app/views/origami/jcb/index.html.erb @@ -96,6 +96,12 @@