customer create
This commit is contained in:
@@ -1,27 +0,0 @@
|
|||||||
class Api::VerificationsController < ActionController::API
|
|
||||||
|
|
||||||
def request_code
|
|
||||||
|
|
||||||
phone_number = params[:phone_number]
|
|
||||||
|
|
||||||
#TODO - user generate
|
|
||||||
|
|
||||||
if @user.pin.nil?
|
|
||||||
@user.pin = rand(1000..9999)
|
|
||||||
@user.contact_no = phone_number
|
|
||||||
@user.pin_send_at = Time.now
|
|
||||||
@user.save
|
|
||||||
VerifyNumber.send_message(@user.contact_no, @user.pin)
|
|
||||||
#sent message
|
|
||||||
else
|
|
||||||
@user.contact_no = phone_number
|
|
||||||
@user.save
|
|
||||||
VerifyNumber.send_message(@user.contact_no, @user.pin)
|
|
||||||
#sent message
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def verify_code
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
|
||||||
@@ -3,7 +3,10 @@ class Api::ShopsController < Api::ApiController
|
|||||||
skip_before_action :authenticate
|
skip_before_action :authenticate
|
||||||
|
|
||||||
def index
|
def index
|
||||||
@shops = Shop.select('id,logo,name,shop_code,address,phone_no,cloud_url,cloud_token').all
|
@shops = Shop.select('id,logo,name,shop_code,address,phone_no').all
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def show
|
||||||
|
@shop = Shop.find_by_shop_code(params[:id])
|
||||||
|
end
|
||||||
end
|
end
|
||||||
26
app/controllers/api/verifications_controller.rb
Normal file
26
app/controllers/api/verifications_controller.rb
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
class Api::VerificationsController < ActionController::API
|
||||||
|
|
||||||
|
def new
|
||||||
|
phone_number = params[:phone_number]
|
||||||
|
|
||||||
|
#TODO - user generate
|
||||||
|
@cus = Customer.new
|
||||||
|
@cus.draft_customer(phone_number, rand(1000..9999))
|
||||||
|
if @cus.verify_status == false
|
||||||
|
# VerifyNumber.send_message(phone_number, @cus.pin_code)
|
||||||
|
@result = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def update
|
||||||
|
phone_number = params[:phone_number]
|
||||||
|
pin_code = params[:pin_code]
|
||||||
|
@cus = Customer.find_by_contact_no(phone_number)
|
||||||
|
if !@cus.nil? && @cus.pin_code.to_i == pin_code.to_i
|
||||||
|
@cus.verify_status = true
|
||||||
|
@cus.save
|
||||||
|
@result = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
@@ -11,12 +11,30 @@ class Customer < ApplicationRecord
|
|||||||
|
|
||||||
validates_presence_of :name, :contact_no, :email #,:card_no
|
validates_presence_of :name, :contact_no, :email #,:card_no
|
||||||
validates :contact_no, numericality: true #uniqueness: true,
|
validates :contact_no, numericality: true #uniqueness: true,
|
||||||
validates :email, uniqueness: true,format: { with: /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i, on: :create }
|
# validates :email, uniqueness: true,format: { with: /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i, on: :create }
|
||||||
# validates :card_no, uniqueness: true
|
# validates :card_no, uniqueness: true
|
||||||
# validates :paypar_account_no, uniqueness: true
|
# validates :paypar_account_no, uniqueness: true
|
||||||
|
|
||||||
paginates_per 50
|
paginates_per 50
|
||||||
|
|
||||||
|
def draft_customer(phone, pin)
|
||||||
|
cus = Customer.find_by_contact_no(phone)
|
||||||
|
if cus.nil?
|
||||||
|
self.name = "User " + pin.to_s
|
||||||
|
self.contact_no = phone
|
||||||
|
self.email = pin.to_s + "@gmail.com"
|
||||||
|
self.pin_code = pin
|
||||||
|
self.pin_sent_at = Time.now
|
||||||
|
self.save
|
||||||
|
return self
|
||||||
|
else
|
||||||
|
cus.pin_code = pin
|
||||||
|
cus.pin_sent_at = Time.now
|
||||||
|
cus.save
|
||||||
|
return cus
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def self.get_member_account(customer)
|
def self.get_member_account(customer)
|
||||||
membership = MembershipSetting.active.find_by_membership_type("paypar_url")
|
membership = MembershipSetting.active.find_by_membership_type("paypar_url")
|
||||||
memberaction = MembershipAction.active.find_by_membership_type("get_all_member_account")
|
memberaction = MembershipAction.active.find_by_membership_type("get_all_member_account")
|
||||||
|
|||||||
24
app/models/verify_number.rb
Normal file
24
app/models/verify_number.rb
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
class VerifyNumber < ApplicationRecord
|
||||||
|
|
||||||
|
def self.send_message(phone, pin)
|
||||||
|
|
||||||
|
url = "http://smspoh.com/api/http/send?key=5QfyN0OtGsFXnOqwtpVAGZCyPGP28nbX_Nm_oPsUw2ybq714T_951ycz3Ypl5URA&message=Doemal,+Pin+Code:+"+pin.to_s+"&recipients="+ phone.to_s
|
||||||
|
|
||||||
|
puts url
|
||||||
|
begin
|
||||||
|
@result = HTTParty.get(url.to_str)
|
||||||
|
|
||||||
|
rescue HTTParty::Error
|
||||||
|
response = {status: false, message: "Can't open membership server "}
|
||||||
|
rescue Net::OpenTimeout
|
||||||
|
response = { status: false , message: "Can't open membership server "}
|
||||||
|
rescue OpenURI::HTTPError
|
||||||
|
response = { status: false, message: "Can't open membership server "}
|
||||||
|
rescue SocketError
|
||||||
|
response = { status: false, message: "Can't open membership server "}
|
||||||
|
end
|
||||||
|
puts @result
|
||||||
|
puts "<><><><><><<><>><><"
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
12
app/views/api/shops/show.json.jbuilder
Normal file
12
app/views/api/shops/show.json.jbuilder
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
if @shop
|
||||||
|
json.status true
|
||||||
|
json.id @shop.id
|
||||||
|
json.logo @shop.logo
|
||||||
|
json.name @shop.name
|
||||||
|
json.shop_code @shop.shop_code
|
||||||
|
json.cloud_url @shop.cloud_url
|
||||||
|
json.cloud_token @shop.cloud_token
|
||||||
|
else
|
||||||
|
json.status false
|
||||||
|
json.message "Record Not Found"
|
||||||
|
end
|
||||||
7
app/views/api/verifications/new.json.jbuilder
Normal file
7
app/views/api/verifications/new.json.jbuilder
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
if @result && @cus
|
||||||
|
json.status true
|
||||||
|
json.sent_pin true
|
||||||
|
else
|
||||||
|
json.status false
|
||||||
|
json.message "Customer Not Found"
|
||||||
|
end
|
||||||
7
app/views/api/verifications/update.json.jbuilder
Normal file
7
app/views/api/verifications/update.json.jbuilder
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
if @result && @cus
|
||||||
|
json.status true
|
||||||
|
json.message "Pin code verification succeeded"
|
||||||
|
else
|
||||||
|
json.status false
|
||||||
|
json.message "Customer Not Found Or Pin Code Verification Failed"
|
||||||
|
end
|
||||||
@@ -44,7 +44,9 @@ scope "(:locale)", locale: /en|mm/ do
|
|||||||
post 'authenticate' => "authenticate#create"
|
post 'authenticate' => "authenticate#create"
|
||||||
delete 'authenticate' => "authenticate#destroy"
|
delete 'authenticate' => "authenticate#destroy"
|
||||||
|
|
||||||
get 'get_shops' => "shops#index"
|
resources :shops, only: [:index, :show]
|
||||||
|
resources :verifications, only: [:new, :update]
|
||||||
|
|
||||||
namespace :restaurant do
|
namespace :restaurant do
|
||||||
get 'zones' => "zones#index"
|
get 'zones' => "zones#index"
|
||||||
resources :menu, only: [:index, :show]
|
resources :menu, only: [:index, :show]
|
||||||
|
|||||||
7
db/migrate/20191118072133_customer_pincode.rb
Normal file
7
db/migrate/20191118072133_customer_pincode.rb
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
class CustomerPincode < ActiveRecord::Migration[5.1]
|
||||||
|
def change
|
||||||
|
add_column :customers, :pin_code, :integer
|
||||||
|
add_column :customers, :verify_status, :boolean, :default => false
|
||||||
|
add_column :customers, :pin_sent_at, :datetime
|
||||||
|
end
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user