diff --git a/app/controllers/crm/customers_controller.rb b/app/controllers/crm/customers_controller.rb index e74f9c7a..7b846db0 100644 --- a/app/controllers/crm/customers_controller.rb +++ b/app/controllers/crm/customers_controller.rb @@ -119,17 +119,17 @@ class Crm::CustomersController < BaseCrmController ) rescue HTTParty::Error - response = {status: false, message: "Can't open embership server "} + response = {status: false, message: "Can't open membership server "} rescue Net::OpenTimeout - response = { status: false , message: "Can't open embership server "} + response = { status: false , message: "Can't open membership server "} rescue OpenURI::HTTPError - response = { status: false, message: "Can't open embership server "} + response = { status: false, message: "Can't open membership server "} rescue SocketError - response = { status: false, message: "Can't open embership server "} + response = { status: false, message: "Can't open membership server "} end if response["status"] == true customer = Customer.find(@crm_customers.customer_id) diff --git a/app/controllers/origami/payments_controller.rb b/app/controllers/origami/payments_controller.rb index 5c725aca..11b331e8 100644 --- a/app/controllers/origami/payments_controller.rb +++ b/app/controllers/origami/payments_controller.rb @@ -64,6 +64,8 @@ class Origami::PaymentsController < BaseOrigamiController printer = Printer::ReceiptPrinter.new(print_settings) printer.print_receipt_bill(print_settings,saleObj.sale_items,saleObj,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details, "Paid") + + render json: JSON.generate({:status => saleObj.rebate_status, :message => "Can't Rebate coz of Sever Error "}) end end diff --git a/app/models/customer.rb b/app/models/customer.rb index f5a37164..8311bed4 100644 --- a/app/models/customer.rb +++ b/app/models/customer.rb @@ -27,7 +27,7 @@ class Customer < ApplicationRecord 'Content-Type' => 'application/json', 'Accept' => 'application/json' }, - :timeout => 100 + :timeout => 10 ) rescue HTTParty::Error response = {status: false, message: "Server Error"} @@ -113,13 +113,11 @@ class Customer < ApplicationRecord response = { status: false} end - puts response.to_json - - if response["status"] == true + if response["status"] == true status = customer.update_attributes(membership_id: response["customer_datas"]["id"]) - end + end - end + end end def self.search(search) diff --git a/app/models/sale_payment.rb b/app/models/sale_payment.rb index 3fd5118b..a8b507aa 100644 --- a/app/models/sale_payment.rb +++ b/app/models/sale_payment.rb @@ -142,6 +142,20 @@ class SalePayment < ApplicationRecord end + def self.update_rebate + + sales = Sale.where("rebate_status = 'false'") + sales.each do |sale| + if sale.customer.membership_id + response = rebat(Sale.find(sale.sale_id)) + puts response.to_json + if response["status"] == true + status = sale.update_attributes(rebate_status: "true") + end + end + end + end + private def cash_payment payment_status = false @@ -260,9 +274,26 @@ class SalePayment < ApplicationRecord self.sale.payment_status = "outstanding" end self.sale.sale_status = "completed" + + response = rebat(sObj) +puts "hhh" +puts response.to_json +puts response[:status] + if response[:status] == true + self.sale.rebate_status = 'true' + puts "truessssssssssss" + elsif response[:status] == false + self.sale.rebate_status = 'false' + puts "falseeeeeeeeeeeeee" + else + self.sale.rebate_status =nil + puts "nilllllllllll" + end + self.sale.save! table_update_status(sObj) - rebat(sObj) + + if paid_amount != "0.0" update_shift end @@ -303,7 +334,7 @@ class SalePayment < ApplicationRecord rebate_prices = SaleItem.calculate_rebate_by_account(sObj.sale_items) generic_customer_id = sObj.customer.membership_id - if generic_customer_id != nil || generic_customer_id != "" || generic_customer_id != 0 + if generic_customer_id.present? paypar = sObj.sale_payments payparcost = 0 credit = 0 @@ -339,18 +370,23 @@ class SalePayment < ApplicationRecord 'Accept' => 'application/json' }, :timeout => 10) rescue Net::OpenTimeout - response = { status: false , message: "Server Time out"} + response = { status: false , message:"connection time out" } + rescue OpenURI::HTTPError - response = { status: false, message: "Can't connect server"} - + response = { status: false, message: "Can't connect server"} + rescue SocketError - response = { status: false, message: "Can't connect server"} + response = { status: false, message: "Can't connect server"} + end - return response - # puts response.to_json + return response + puts response.to_json end - end + else + response = { status: "no_member", message: "Not membership"} + + end end diff --git a/config/schedule.rb b/config/schedule.rb index b21a46e3..98a7b743 100644 --- a/config/schedule.rb +++ b/config/schedule.rb @@ -2,6 +2,11 @@ set :environment, "development" env :PATH, ENV['PATH'] set :output, 'log/whenever.log' +every 30.minutes do + runner "Sale.update_rebate" +end + every 30.minutes do runner "Customer.update_membership" -end \ No newline at end of file +end + diff --git a/db/migrate/20170701101420_create_sales.rb b/db/migrate/20170701101420_create_sales.rb index fc261826..6d3f33f9 100644 --- a/db/migrate/20170701101420_create_sales.rb +++ b/db/migrate/20170701101420_create_sales.rb @@ -22,6 +22,7 @@ class CreateSales < ActiveRecord::Migration[5.1] t.decimal :amount_changed, :precision => 10, :scale => 2, :null => false, :default => 0.00 t.integer :shift_sale_id t.decimal :old_grand_total + t.string :rebate_status t.timestamps end end